Android開發中Widget的生命週期執行個體分析_Android

來源:互聯網
上載者:User

本文執行個體分析了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程式設計有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.