最新国产好看的视频,伊人天堂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,并覆寫里面的相關(guān)的方法。
3、為WidgetProvider創(chuàng)建一個引用的布局文件,或者直接用main.xml。
4、在程序中注冊Manifest.xml。

代碼如下:

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

復(fù)制代碼 代碼如下:

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

</appwidget-provider>

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

復(fù)制代碼 代碼如下:

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

復(fù)制代碼 代碼如下:

<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文件來描述布局屬性。

復(fù)制代碼 代碼如下:

 <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類中,還有其它相關(guān)的方法

復(fù)制代碼 代碼如下:

public class WidgetProvider extends AppWidgetProvider {

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

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

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

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

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

相關(guān)文章

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

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

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

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

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

    Android 消息機制問題總結(jié)

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

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

    原生的 MVC 框架遇到大規(guī)模的應(yīng)用,就會變得代碼難讀,不好維護,無法測試的囧境。因此,Android 開發(fā)方面也有很多對應(yīng)的框架來解決這些問題。所以這篇文章主要給大家介紹了關(guān)于Android如何從實現(xiàn)到封裝一個MVP的相關(guān)資料,需要的朋友可以參考下。
    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)聽廣播信息的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • Android實現(xiàn)模擬搜索功能

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

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

最新評論

永寿县| 保靖县| 穆棱市| 亳州市| 卓资县| 宣化县| 札达县| 十堰市| 兴和县| 兴山县| 拜泉县| 晴隆县| 江阴市| 通海县| 普陀区| 徐闻县| 原平市| 黄浦区| 商城县| 巴塘县| 洛隆县| 辽宁省| 许昌市| 裕民县| 辽源市| 孟连| 静安区| 寿光市| 彭阳县| 鄂伦春自治旗| 克什克腾旗| 雅安市| 隆林| 土默特右旗| 富蕴县| 巴青县| 东平县| 通榆县| 安徽省| 锡林郭勒盟| 滨海县|