最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Android AppWidgetProvider的使用介紹

 更新時間:2013年04月19日 16:37:05   作者:  
本篇文章小編為大家介紹,基于Android AppWidgetProvider的使用。需要的朋友參考下

AppWidgetProvider 用來在HOME頁面顯示插件

實現(xiàn)步驟:
1、為AppWidget提供一個元布局文件AppWigdetProvider_Provider.xml,用來顯示W(wǎng)idget的界面。
2、創(chuàng)建一個類繼承自AppWidgetProvider,并覆寫里面的相關的方法。
3、為WidgetProvider創(chuàng)建一個引用的布局文件,或者直接用main.xml。
4、在程序中注冊Manifest.xml。

代碼如下:

1、在res/xml/文件夾下創(chuàng)建AppWigdetProvider_Provider.xml文件

復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
  android:initialLayout="@layout/main"  <!-- android:initialLayout 設置引用的布局文件 -->
  android:minHeight="50dip"
  android:minWidth="50dip"
  android:updatePeriodMillis="5000" > <!-- 設置更新時間,單位為毫秒 -->

</appwidget-provider>

2、修改MainActivity繼承自AppWidgetProvider并覆寫里面的一些方法

復制代碼 代碼如下:

public class MainActivity extends AppWidgetProvider {

 @Override
 public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
  super.onUpdate(context, appWidgetManager, appWidgetIds);
  Timer timer = new Timer();
  timer.scheduleAtFixedRate(new LYTimeTask(context, appWidgetManager), 1, 50000);
 }

 private class LYTimeTask extends TimerTask {
  RemoteViews remoteViews;
  AppWidgetManager appWidgetManager;
  ComponentName widget;

  @Override
  public void run() {
   Date date = new Date();
   Calendar calendar = new GregorianCalendar(2013, 07, 24);
   long days = (calendar.getTimeInMillis() - date.getTime()) / 1000 / 86400;
   remoteViews.setTextViewText(R.id.worldcup, "距離寶貝生日" + days + "天");
   appWidgetManager.updateAppWidget(widget, remoteViews);
  }

  public LYTimeTask(Context context, AppWidgetManager appWidgetManger) {
   super();
   this.appWidgetManager = appWidgetManger;
   remoteViews = new RemoteViews(context.getPackageName(), R.layout.activity_main);
   widget = new ComponentName(context, MainActivity.class);
  }
 };
}



3、為Widget創(chuàng)建一個顯示用的布局文件:main.xml

復制代碼 代碼如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:background="@drawable/worldcup"
  android:orientation="vertical" >
  <TextView
    android:id="@+id/babybirthday"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/message"
    android:textSize="12px"
    android:textColor="#ff0000" />
</LinearLayout>


4、修改程序自動生成的清單文件。在AndroidManifest.xml中,聲明上述的AppWidgetProvider的子類是一個Receiver,并且:

(1)、該Receiver的intent-filter的Action必須包含“android.appwidget.action.APPWIDGET_UPDATE”;

(2)、該Receiver的meta-data為“android.appwidget.provider”,并用一個xml文件來描述布局屬性。

復制代碼 代碼如下:

 <application
  android:allowBackup="true"
  android:icon="@drawable/ic_launcher"
  android:label="@string/app_name"
  android:theme="@style/AppTheme" >
  <receiver
    android:name=".MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
      <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /><!--廣播接收過濾器-->
    </intent-filter>

    <meta-data
      android:name="android.appwidget.provider"
      android:resource="@xml/AppWigdetProvider_Provider" /><!--AppWidgetProvider引用的Provider文件-->
  </receiver>
</application>

運行程序:進入WIDGETS頁面,可將Widget添加到HOME頁

在AppWidgetProvider類中,還有其它相關的方法

復制代碼 代碼如下:

public class WidgetProvider extends AppWidgetProvider {

    // 每接收一次廣播消息就調用一次,使用頻繁
    public void onReceive(Context context, Intent intent) {
        super.onReceive(context, intent);
    }

    // 每次更新都調用一次該方法,使用頻繁
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
        super.onUpdate(context, appWidgetManager, appWidgetIds);
    }

    // 每刪除一個就調用一次
    public void onDeleted(Context context, int[] appWidgetIds) {
        super.onDeleted(context, appWidgetIds);
    }

    // 當該Widget第一次添加到桌面是調用該方法,可添加多次但只第一次調用
    public void onEnabled(Context context) {
        super.onEnabled(context);
    }

    // 當最后一個該Widget刪除是調用該方法,注意是最后一個
    public void onDisabled(Context context) {
        super.onDisabled(context);
    }
}

相關文章

  • Android開發(fā)之組件GridView簡單使用方法示例

    Android開發(fā)之組件GridView簡單使用方法示例

    這篇文章主要介紹了Android開發(fā)之組件GridView簡單使用方法,涉及Android GridView組件圖片瀏覽及保存圖片等相關操作技巧,需要的朋友可以參考下
    2019-03-03
  • Android?貝塞爾曲線繪制一個波浪球

    Android?貝塞爾曲線繪制一個波浪球

    當?flutter?的現(xiàn)有組件無法滿足產(chǎn)品要求的UI效果時,我們就需要通過自繪組件的方式來進行實現(xiàn)了。本文章就來介紹如何用貝塞爾曲線實現(xiàn)一個帶文本的波浪球,需要的可以參考一下
    2022-05-05
  • Android 消息機制問題總結

    Android 消息機制問題總結

    本文主要介紹Android 消息機制,這里整理了消息機制的詳細資料,和經(jīng)常出現(xiàn)的問題,希望能幫助大家對消息機制的理解
    2016-08-08
  • Android如何從實現(xiàn)到封裝一個MVP詳解

    Android如何從實現(xiàn)到封裝一個MVP詳解

    原生的 MVC 框架遇到大規(guī)模的應用,就會變得代碼難讀,不好維護,無法測試的囧境。因此,Android 開發(fā)方面也有很多對應的框架來解決這些問題。所以這篇文章主要給大家介紹了關于Android如何從實現(xiàn)到封裝一個MVP的相關資料,需要的朋友可以參考下。
    2017-09-09
  • Android Kotlin Flow 冷熱流詳解

    Android Kotlin Flow 冷熱流詳解

    在Android開發(fā)中,Flow是Kotlin協(xié)程庫的重要組成部分,用于處理異步數(shù)據(jù)流,它能夠異步生產(chǎn)多個值,類似于RxJava中的Observable,本文介紹Android Kotlin Flow 冷熱流,感興趣的朋友一起看看吧
    2024-11-11
  • Android WebView打開網(wǎng)頁一片空白的解決方法

    Android WebView打開網(wǎng)頁一片空白的解決方法

    這篇文章主要介紹了Android WebView打開網(wǎng)頁一片空白的解決方法,試了很多方法,最后記錄一下,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • Android開發(fā)之開發(fā)者頭條(二)實現(xiàn)左滑菜單

    Android開發(fā)之開發(fā)者頭條(二)實現(xiàn)左滑菜單

    本文給大家介紹Android開發(fā)之開發(fā)者頭條(二)實現(xiàn)左滑菜單,主要用android自帶的DrawerLayout控件實現(xiàn)的此功能,具體實現(xiàn)過程請參考下本文
    2016-04-04
  • Android相冊效果(使用C#和Java分別實現(xiàn))

    Android相冊效果(使用C#和Java分別實現(xiàn))

    這篇文章主要介紹了Android相冊效果(使用C#和Java分別實現(xiàn)),原來C#也可以開發(fā)APP,小編第一次見了~感覺不錯,因為小編暫時不喜歡Java,所以,需要的朋友可以參考下
    2015-06-06
  • Android實現(xiàn)靜態(tài)廣播監(jiān)聽器的方法

    Android實現(xiàn)靜態(tài)廣播監(jiān)聽器的方法

    這篇文章主要介紹了Android實現(xiàn)靜態(tài)廣播監(jiān)聽器的方法,涉及Android的廣播機制與記錄監(jiān)聽廣播信息的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • Android實現(xiàn)模擬搜索功能

    Android實現(xiàn)模擬搜索功能

    這篇文章主要為大家詳細介紹了Android實現(xiàn)模擬搜索功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評論

云南省| 萝北县| 丁青县| 怀远县| 六安市| 鹤峰县| 民权县| 平定县| 武功县| 开封县| 上犹县| 淮北市| 云和县| 璧山县| 靖江市| 嵩明县| 和平区| 莆田市| 酒泉市| 游戏| 六安市| 凯里市| 沛县| 简阳市| 长垣县| 垣曲县| 永清县| 岳西县| 宁城县| 榆林市| 米脂县| 城口县| 通山县| 临汾市| 石首市| 宁海县| 沿河| 聂拉木县| 尖扎县| 元江| 玛曲县|