AppWidget

1.创建一个app widget需要

AppWidgetProviderInfo object: 用于描述AppWidget的元数据,比如AppWidget的layout,更新频率,AppWidgetProvider等。

AppWidgetProvider class implementation: 基于broadcaster event定义一些程序员可以和AppWidget交互的基本方法,当AppWidget发生更新,删除等操作时候,能够收到相应的广播信息。

View layout

App Widget configuration Activity

 

2.

(1) 在manifest文件中定义

        <!--Specifies the AppWidgetProvider used by the App Widget -->
        <receiver android:name="ExampleAppWidgetProvider" >
            <!--specifies that the AppWidgetProvider accepts the ACTION_APPWIDGET_UPDATE broadcast. 
            This is the only broadcast that you must explicitly declare. The AppWidgetManager
            automatically sends all other App Widget broadcasts to the AppWidgetProvider
            as necessary. -->
            <intent-filter>
                <!--This is the only broadcast that you must explicitly declare.
                The AppWidgetManager automatically sends all other App Widget broadcasts
                to the AppWidgetProvider as necessary. -->
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <meta-data
                android:name="android.appwidget.provider"
                <!--Specifies the AppWidgetProviderInfo resource location -->
                android:resource="@xml/example_appwidget_info" />
        </receiver>

 

(2) 创建AppWidgetProviderInfo object.

Define the AppWidgetProviderInfo object in an XML resource using a single <appwidget-provider> element and save it in the project's res/xml/ folder.

(3) 创建layout.

 

(4) AppWidgetProvider类

首先要确定AppWidgetProvider类已经在manifest文件中声明过了。

onUpdate()是AppWidgetProvider最重要的一个类。只要用户不用configration activity, 只要widget被添加到宿主后, 这个方法就会被调用到。

当widget需要和用户发生交互事件的时候,需要在这个方法里注册handler. 如果用户不需要创建数据库或者是任何清理工作,这个方法很可能就是我们需要的唯一方法。

 

(5) AppWidget Configration Activity

当用户加载一个AppWidget的时候需要对Appwidet进行诸如颜色,大小,更新时间等的个性设置的时候,就需要AppWidget Configration Activity。

 

---未完待续。

 

 

 

 

你可能感兴趣的:(AppWidget)