首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

Widget容易的例子

2012-07-15 
Widget简单的例子模拟器效果图AppWidgetProvideronUpdate:在到达指定更新时间后或者向桌面添加App Widget

Widget简单的例子
模拟器效果图


AppWidgetProvider
onUpdate:在到达指定更新时间后或者向桌面添加App Widget时会调用该方法.
onDeleted:当App Widget被删除, 会调用该方法
onEnabled:当一个App Widget的实例第一次被创建, 会调用该方法
onDisabled:当最后一个App Widget实例被删除后, 会调用该方法
onRecevie: 接收广播事件

首先在res下面新建一个文件夹(xml). 在文件夹下新建example_widget_info.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="86400000" android:initialLayout="@layout/example_widget"></appwidget-provider>


在layout文件夹下面新建一个example_widget.xml
代码:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="match_parent"android:layout_height="match_parent"><TextView android:text="firstWidgetText" android:background="#000000"android:id="@+id/widgetTextId" android:layout_width="fill_parent"android:layout_height="wrap_content"></TextView></LinearLayout>


AndroidManifest.xml布局文件
代码:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"      package="com.cn"      android:versionCode="1"      android:versionName="1.0">    <uses-sdk android:minSdkVersion="10" />    <application android:icon="@drawable/icon" android:label="@string/app_name">        <activity android:name=".AppwidgetActivity"                  android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <receiver android:name="ExampleAppWidgetProvider">        <!-- 指定广播接收 -->            <intent-filter>                <action android:name="android.appwidget.action.APPWIDGET_UPDATE"></action>            </intent-filter>            <!-- appwidget的源文件 -->            <meta-data android:name="android.appwidget.provider" android:resource="@xml/example_appwidget_info"></meta-data>        </receiver>    </application></manifest>


ExampleAppWidgetProvider.java代码
package com.cn;import android.appwidget.AppWidgetManager;import android.appwidget.AppWidgetProvider;import android.content.Context;import android.content.Intent;public class ExampleAppWidgetProvider extends AppWidgetProvider {@Overridepublic void onDeleted(Context context, int[] appWidgetIds) {System.out.println("onDeleted");super.onDeleted(context, appWidgetIds);}@Overridepublic void onDisabled(Context context) {System.out.println("onDisabled");super.onDisabled(context);}@Overridepublic void onEnabled(Context context) {System.out.println("onEnabled");super.onEnabled(context);}@Overridepublic void onReceive(Context context, Intent intent) {System.out.println("onReceive");super.onReceive(context, intent);}@Overridepublic void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) {System.out.println("onUpdate");super.onUpdate(context, appWidgetManager, appWidgetIds);}}


PS: 在模拟器中图片的界面上长按左键, 出现的菜单上选择Widget, 最后选择自己写得程序名字就好, 比如这个Appwidget

热点排行