• App Widget


      AppWidgetProviderInfo对象:

          为App Widget提供元数据(描述数据的数据,如XML、关系型数据的表结构),包括布     局,更新频率等数据。这个对象被定义在XML文件当中;

      AppWidgetProvider:

        定义了App Widget的基本生命周期函数;

                onUpdate:在到达指定的更新时间之后或者当用户向桌面添加App Widget时会调用该方法。

                onDeleted:当App Widget被删除时,会调用该方法

                onEnabled:当一个App Widget的实例第一次被创建时,会调用该方法。

                onDisabled:当最后一个App Widget实例被删除后,会调用该方法。

                onReceive:接收广播事件

       添加一个App Widget基本步骤:

                首先在res文件件下新建一个xml文件夹,在此文件夹下新建XML文件(example_appwidget_info.xml)为AppWidgetProviderInfo对象提供数据,xml文件关联了一个布        局文件(example_appwidget.xml),此布局文件就定义了在桌面上显示那些内容,如下:

          <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
            android:minWidth="234dp"
            android:minHeight="72dp"
            android:updatePeriodMillis="86000000"
            android:initialLayout="@layout/example_appwidget">
          </appwidget-provider>

        然后需要在AndroidManifest.xml中声明一个receiver,receiver如下:

          <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>

        example_appwidget.xml内容如下:

          <?xml version="1.0" encoding="utf-8"?>
          <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >
            <TextView
              android:id="@+id/textId"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:text="first AppWidget"
              android:background="#000000"/>
          </LinearLayout>

      声明一个ExampleAppWidgetProvider类继承自AppWidgetProvider,如下:

        public class ExampleAppWidgetProvider extends AppWidgetProvider{

          @Override
          public void onDeleted(Context context, int[] appWidgetIds) {
            // TODO Auto-generated method stub
            super.onDeleted(context, appWidgetIds);
          }

          @Override
          public void onDisabled(Context context) {
            // TODO Auto-generated method stub
            super.onDisabled(context);
          }

          @Override
          public void onEnabled(Context context) {
            // TODO Auto-generated method stub
            super.onEnabled(context);
          }

          @Override
          public void onReceive(Context context, Intent intent) {
            // TODO Auto-generated method stub
            super.onReceive(context, intent);
          }

          @Override
          public void onUpdate(Context context, AppWidgetManager appWidgetManager,
            int[] appWidgetIds) {
              // TODO Auto-generated method stub
              super.onUpdate(context, appWidgetManager, appWidgetIds);
          }

  • 相关阅读:
    Netty快速入门(09)channel组件介绍
    Netty快速入门(08)ByteBuf组件介绍
    Netty快速入门(07)Netty入门例子
    Netty快速入门(06)Netty介绍
    Netty快速入门(05)Java NIO 介绍-Selector
    Netty快速入门(04)Java NIO 介绍-Channel
    Netty快速入门(03)Java NIO 介绍-Buffer
    Netty快速入门(02)Java I/O(BIO)介绍
    Netty快速入门(01)Linux I/O模型介绍
    老虎集团【4面】
  • 原文地址:https://www.cnblogs.com/zhanglei93/p/4746334.html
Copyright © 2020-2023  润新知