zoukankan      html  css  js  c++  java
  • Android 创建一个Widget

    Widget的生命周期:

     参考文档appWidget
     1.当桌面上第一个widget被创建的时候:
      onEnabled  当widget第一次被创建的时候调用. 非常适合做应用程序的初始化.
      onReceive
      onUpdate  当有新的widget被创建的时候 更新界面的操作. 当时间片(xml文件中的更新时间)到的时候 onupdate()调用.
      onReceive
      
     2.当第二个widget被创建的时候(第3个也是这样)
      onUpdate
      onReceive
      
     3.从界面上移除第一个widget:
      onDeleted
      onReceive
     
     4.移除最后一个widget:
      onDeleted
      onReceive
      onDisabled     当widget从界面上全部移除的时候 调用的方法. 非常适合 擦屁股.删除临时文件. 停止后台服务.
      onReceive
      
    注意:

     widget就是一个特殊的广播接受者 当有新的事件产生的是 肯定会调用 onReceive();

       在不同的手机上  widget的生命周期调用方法 可能有细微的不同
     
       比如:360桌面 go桌面 awt桌面 腾讯桌面 小米桌面

    实现过程:
     写一个widget步骤(参考文档):
     1.写一个类继承AppWidgetProvider(注:该类间接继承广播接收者,所以需要在清单文件中注册)
     2.在清单文件中配置该类(参考文档)
       <receiver android:name="ExampleAppWidgetProvider" >
                <intent-filter> 
                    <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
                </intent-filter>  
                <meta-data
                    android:name="android.appwidget.provider"
                    android:resource="@xml/example_appwidget_info" />
            </receiver>
     3.在res目录下建一个xml的文件夹,并在里面建一个xml文件(参考文档)
      <?xml version="1.0" encoding="utf-8"?>
      <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
       android:minWidth="294dp"
       android:minHeight="72dp"
       android:updatePeriodMillis="1800000"
       android:initialLayout="@layout/main">
      </appwidget-provider>
     4.测试
      到桌面,常按桌面,选择Widget,可以找到自己定义滚动Widget

    三、特点
     潜在在其他应用上的小控件。可以定期更新

  • 相关阅读:
    快速排序
    常见的正则表达式验证(更新中)
    中介者模式
    RadioButtonList控件如何取得选中的值
    职责链模式
    设计模式之GOF23建造者模式
    设计模式之GOF23工厂模式02
    设计模式GOF23之工厂模式01
    多线程测试时的辅助类--CountDownLatch
    设计模式GOF23之单例模式
  • 原文地址:https://www.cnblogs.com/zhangping/p/3514189.html
Copyright © 2011-2022 走看看