Android的ApiDemo範例庫提供了一個很不錯的App Widget範例;不過,對初學者來說,這個範例可能稍嫌繁瑣。在這裡另外提供一個HelloAppWidget範例如下:
/* 範例:HelloAppWidget.java */
package com.moko.hellowidget;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.widget.RemoteViews;
public class HelloAppWidgetProvider extends AppWidgetProvider {
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
final int N = appWidgetIds.length;
for (int i=0; i<N; i++) {
int appWidgetId = appWidgetIds[i];
updateAppWidget(context, appWidgetManager, appWidgetId);
}
}
public void onDeleted(Context context, int[] appWidgetIds) {
}
static void updateAppWidget(Context context, AppWidgetManager appWidgetManager,
int appWidgetId) {
CharSequence text;
text = "";
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.main);
views.setTextViewText(R.id.appwidget_text, text);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
|
一個很簡單的App Widget就是只需要這麼幾行程式碼,HelloAppWidget範例就是先前的App Widget操作示範使用的範例,HelloAppWidget會在桌面嵌進一個TextView組件,並顯示””字串。
由此範例可以了解,App Widget使用到Android提供的AppWidgetProvider類別,建議可以先行快速瀏覽Android Reference文件,以了解此類別的大略用法。
App Widget的設計流程
設計一個App Widget的流程,並不是由寫程式開始,所以上述的範例程式,並不是首要的重點。實作一個App Widget的過程,用到了過去教學裡的所有觀念,因此對以下的流程述描有不了解的地方,可以再回頭覆習過去的教學。
App Widget設計流程:
1. 規劃App Widget的大小以及更新時間,在res/xml/裡新增一份XML文件,命名為appwidget_provider.xml
2. 規劃App Widget的UI,修改res/layout/main.xml
3. 撰寫App Widget主程式,如上例
4. 編輯AndroidManifest.xml,設定App Widget可接受App Widget的更新事件:android.appwidget.action.APPWIDGET_UPDATE
換個角度來看,設計一個陽春版的App Widget至少需要以下4個檔案:
- res/xml/appwidget_provider.xml
- res/layout/main.xml
- src//HelloAppWidgetProvider.java
- AndroidManifest.xml
有了設計流程後,接下來一一說明每個步驟的實作,以及技術重點。
--jollen
阅读(1252) | 评论(0) | 转发(0) |