WEB开发网
开发学院手机开发Android 开发 Android 用于显示当前时间的窗口小部件(AppWidge... 阅读

Android 用于显示当前时间的窗口小部件(AppWidget)

 2010-02-22 16:07:00 来源:WEB开发网   
核心提示:{finalintN=appWidgetIds.length;for(inti=0;i<N;i++){intappWidgetId=appWidgetIds[i];RemoteViewsviews=newRemoteViews(context.getPackageName(),R.layout.firstappw

{

final int N = appWidgetIds.length;

for (int i = 0; i < N; i++)

{

int appWidgetId = appWidgetIds[i];

RemoteViews views = new RemoteViews(context.getPackageName(),

R.layout.firstappwidget);

java.text.DateFormat df = new java.text.SimpleDateFormat("hh:mm:ss");

views.setTextViewText(R.id.tvMsg, "当前时间:" + df.format(new Date()));

appWidgetManager.updateAppWidget(appWidgetId, views);

}

}

}

当创建每一个appwidget的实例时AppWidgetManager都会调用该appwidget的onUpdate方法。要想使更新有效,必须调用updateAppWidget方法更新相应的appwidget中的view。

步骤3:配置元素

appwidget还需要一个元素来描述appwidget的大小、布局、更新频率等信息。在 res目录下建立一个xml目录,在resxml目录下建立一个appwidget_provider.xml,并输入如下的代码:

android:minWidth="200dp"

android:minHeight="30dp"

android:updatePeriodMillis="1000"

android:initialLayout="@layout/firstappwidget"/>

其中android:minWidth和android:minHeight表示appwidget的最小宽度和高度,android:updatePeriodMillis表示更新频率,单位是毫秒。也就是说,AppWidgetManager每秒都会调用该 appwidget的onUpdate方法。因此,onUpdate方法在两种情况下被调用,第一种是添加appwidget时,第二种是每一个更新周期结束时调用一次onUpdate方法。

步骤4:进行最后的配置

appwidget需要在AndroidManifest.xml文件中配置receiver,从这一点可以看出,android是通过 Broadcast来通知每一个appwidget的。appwidget_provider.xml文件的配置代码如下:

package="net.blogjava.nokiaguy.appwidget" android:versionCode="1" android:versionName="1.0">

android:resource="@xml/appwidget_provider" />

在上面的配置代码中使用元素的子元素来指定appwidget接收的动作。使用元素指定appwidget的layout。

将这个程序安装在android模拟器中,我们会发现appwidget并没有出现。实际上,appwidget需要手工去添加。通过模拟器的

Tags:Android 用于 显示

编辑录入:coldstar [复制链接] [打 印]
赞助商链接