Chinaunix首页 | 论坛 | 博客
  • 博客访问: 334801
  • 博文数量: 89
  • 博客积分: 5152
  • 博客等级: 大校
  • 技术积分: 1155
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-25 15:12
文章分类

全部博文(89)

文章存档

2012年(1)

2011年(5)

2010年(14)

2009年(69)

我的朋友

分类: LINUX

2009-07-16 13:49:50

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



阅读(1219) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~