//首先,在除了MainActivity外新建一ExampleAppWidgetProvider中,他继承了AppWidgetProvider
package w.y.j;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
public class ExampleAppWidget 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 onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds)
{
// TODO Auto-generated method stub
super.onUpdate(context, appWidgetManager, appWidgetIds);
}
}
然后,在配置文件中申明这一receiver:
<receiver android:name="ExampleAppWidgetProvider">
<intent-filter>
<action android:name="android.appwidget.actioin.APPWIDGET_UPDATE"/>
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/example_appwidget_info"
/>
</receiver>
在res下新建一xml文件夹,再在xml文件夹下建一example_appwidget_info.xml文件,它主要是为ExampleAppWidgetProvider提供数据,代码如下;
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android">
android:minWidth="294dp"
andriod:minHeight="72dp"
android:updatePeriodMillis="86400000"
android:initialLayout="@layout/example_appwidget"
</appwidget-provider>
当然上面initialLayout中的布局文件example_appwidget 他才是我们看到的东西,如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/widgetTextId"
android:text="firstWidgetText"
android:background="#000000"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>