Android开发中Widget的生命周期实例分析
程序员文章站
2024-02-24 11:41:28
本文实例分析了android开发中widget的生命周期。分享给大家供大家参考,具体如下:
widget是android中桌面小控件,创建时必须继承appwidgetpr...
本文实例分析了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程序设计有所帮助。
上一篇: Python 数据结构之旋转链表
推荐阅读