本文執行個體分析了Android開發中Widget的生命週期。分享給大家供大家參考,具體如下:
Widget是android中案頭小控制項,建立時必須繼承AppWidgetProvider,AppWidgetProvider其實就是繼承了BroadcastReceiver的Receiver的一種,widget有以下幾個生命週期方法:
1.onEnabled方法:此方法在Widget第一次被建立的時候調用,並且只調用一次,此方法中常放入初始化資料,服務的操作。
2.onReceive方法:通BroadcastReceiver的OnReceive方法,但是這裡有所不同的是,當接收到Widget操作時首先調用的是OnReceive方法,然後才是相關的操作方法。這也很好理解,Widget的是運行在案頭運用程式中的小控制項,當自己的應用程式需要調用Widget是,就需要發送廣播事件去調用。
3.onUpdate:Widget在固定的時間裡更新時調用的方法。
4.onDeleted:Widget被刪除時調用的方法。
5.onDisabled:所用Widget被刪除是調用的方法,同onEnabled方法相對。
例子及注釋:
package cn.itcast.testwidget;import android.appwidget.AppWidgetManager;import android.appwidget.AppWidgetProvider;import android.content.Context;import android.content.Intent;/** * 根據設定檔 每隔固定的時間 更新一下介面 * 最小值 半個小時 1800000毫秒 * onRecevie - > onUpdate * * * 注意 widget這個組件不是現實在我們的應用程式裡面 * 顯示在案頭的應用程式 * 不同的案頭 他們的widget的建立和銷毀對應的 回調的事件可能會有不能 * android luncher / htc sence / 米ui / 360案頭/awt /qq案頭/.... * * */public class MyWidget extends AppWidgetProvider { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub super.onReceive(context, intent); System.out.println("onReceive"); } @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { System.out.println("onUpdate"); super.onUpdate(context, appWidgetManager, appWidgetIds); } @Override public void onDeleted(Context context, int[] appWidgetIds) { // TODO Auto-generated method stub System.out.println("onDeleted"); super.onDeleted(context, appWidgetIds); //當某一個widget被刪除的時候 會執行ondelete方法 } @Override public void onEnabled(Context context) { // TODO Auto-generated method stub System.out.println("onEnabled"); // widget第一次建立的時候 執行的方法 // 初始化widget資料的操作,開啟以後後台 super.onEnabled(context); } @Override public void onDisabled(Context context) { // TODO Auto-generated method stub super.onDisabled(context); System.out.println("onDisabled"); // 當所有的widget都被刪除的時候 執行 ondisable(); // 停止我們開啟的服務 // 刪除垃圾檔案 臨時檔案 }}
更多關於Android相關內容感興趣的讀者可查看本站專題:《Android開發入門與進階教程》、《Android通訊方式總結》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控制項用法總結》
希望本文所述對大家Android程式設計有所協助。