当前位置: 移动技术网 > 移动技术>移动开发>Android > Android开发中Widget的生命周期实例分析

Android开发中Widget的生命周期实例分析

2019年07月24日  | 移动技术网移动技术  | 我要评论

本文实例分析了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程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网