`
wdp107
  • 浏览: 141132 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android Widget開發流程

阅读更多
1.Widget觀念
widget就是在Home Screen顯示的元件,它只是View的一種,所以可以使用xml來設計layout。你可以設計一個在背景執行的Service,讓它定時去Update這個Widget。此外畫面的設計可以參考Dev手冊中的說明,尺寸的設計則有一個公式:最小尺寸(dip) = (格子數 * 74) - 2。所謂的格子是指,Home Screen中劃分成4*4的格子,所以你的widget要佔滿幾個格子,就可以用這個公式去算出你的widget的尺寸,例如,要佔滿2格,就是(2*74)-2=146dip。

2.開發流程

AppWidgetProviderInfo:描述App Widget的metadata。
實作AppWidgetProvider:接收並處理廣播事件,例如OnUpdate()。
View Layout:設計widget所要呈現的UI。
Configuration Activity:非必要。
設定AndroidManifest檔。
2.1 AppWidgetProviderInfo
在/res下增加一個xml目錄。然後增加一個xml檔,Eclipse中的做法:在xml目錄上按右鍵→New→Android XML File→選擇"AppWidget Provider"→打入檔名。

AppWidgetProviderInfo XML檔的目的,是要描述這個Widget的尺寸、更新的頻率、Layout及非必要的Configuration Activity設定。

請設定其寬及高的尺寸(依之前介紹的公式),然後你必須新增一個Layout用的xml,放在/layout目錄中,並在此設定選擇這個Layout檔。更新頻率是以毫秒計,所以1000表示1秒更新一次。手冊上是建議不要太頻繁,以免太耗電。

2.2實作AppWidgetProvider
新增一個類別,並繼承AppWidgetProvider,然後覆寫onUpdate()方法。通常會在其中啟動Service來做想要做的事。這裡要知道兩個類別:AppWidgetManager及RemoteViews。

RemoteViews是用來更新widget的顯示畫面,例如:RemoteViews有一個setTextViewText()的方法,可以設定Widget中的TextView。它會傳入widget中的TextView的Id,及要顯示的字串,等同於呼叫那個Vidw的setText()方法,來設定文字。

AppWidgetManager則是用來把你的AppWidgetProvider和RemoteViews做連結。

2.3View Layout
設計widget所要呈現的UI,在2.1中被指定。

2.4Configuration Activity
這是非必要的。如果你希望使用者在加入Widget到Home Screen之前要先做一些設定的話,可以增加一個Activity來執行,它會在widget加入到Home Screen之前先跳出來。

2.5設定AndroidManifest檔
因為AppWidgetProvider類別是BroadcastReceiver的子類別,所以在<application>元素內增加一個<receiver>指定到2.2所建的自定AppWidgetProvider。在其中增加一個Intent filter來抓取"android.appwidget.action.APPWIDGET_UPDATE"的Action。

在<receiver>下再新增一個<meta-data>名為"android.appwidget.provider",resource則是設定為/xml目錄下的AppWidgetProviderInfo XML檔。

接著,不要忘記為你的Service或Activity做設定。

結語
以上是整個Widget的開發流程中要注意的事項,如果搭配一個"飯粒",想必你就能瞭解。下面的參考資料中有個"How to ......"的連結,裡面有個Widget教學,你可以去下載它的範例,另外,Android SDK中的API Demo中也有。

分享到:
评论

相关推荐

    基于Android的Widget开发

    本文主要介绍了桌面动态图库APP Widget设计过程。在设计之前,首先根据UI设计的原则,给出了合理的需求分析,确定了软件要实现的功能要求。然后根据功能要求,阐述了Widget的框架设计,包括桌面布局设计、实现Widget...

    Android天气预报widget的设计与实现毕业论文

    2.1 ANDROID开发环境搭建流程 3 2.1.1 安装Eclipse ADT Plugin插件 3 2.1.2 安装Android SDK 4 2.1.3 更新Adroid SDK 5 2.1.4 配置Android模拟器 6 2.2 开发工具ECLIPSE介绍 7 第3章 ANDROID程序设计基础 10 3.1 ...

    android开发揭秘PDF

    9.4.3 Widget开发 9.5 账户管理 9.6 小结 第三部分 实例篇 第10章 Android应用开发 实例 10.1 情境模式 10.2 文件管理器 10.3 通讯录 10.4 音乐播放器 10.5 天气预报 10.6 个人地图 10.7 Widget日历 10.8 小结 第...

    《Android应用开发揭秘》附带光盘代码.

     9.4.3 Widget开发  9.5 账户管理  9.6 小结  第三部分 实例篇  第10章 Android应用开发  实例  10.1 情境模式  10.2 文件管理器  10.3 通讯录  10.4 音乐播放器  10.5 天气预报  10.6 个人地图  10.7 ...

    Android 桌面Widget开发要点解析(时间日期Widget)

    最近需要编写一个日期时间的桌面Widget用来关联日历程序,以前很少写桌面Widget。对这方面技术不是很熟悉,今天花时间重新整理了一下,...这个时间Widget我是参考(Android应用开发揭秘)书里面的一个demo例子做的,只

    《Android应用开发揭秘》源码

     9.4.3 Widget开发  9.5 账户管理  9.6 小结  第三部分 实例篇  第10章 Android应用开发实例  10.1 情境模式  10.2 文件管理器  10.3 通讯录  10.4 音乐播放器  10.5 天气预报  10.6 个人地图  10.7 ...

    Android应用开发揭秘pdf高清版

    9.4.3 Widget开发 9.5 账户管理 9.6 小结 第三部分 实例篇 第10章 Android应用开发 实例 10.1 情境模式 10.2 文件管理器 10.3 通讯录 10.4 音乐播放器 10.5 天气预报 10.6 个人地图 10.7 Widget日历 10.8 小结 第...

    android系统原理及开发要点详解

     本书在编写过程中提炼和综合Android早期开发者的经验、中国大陆Androidin社区的开发成果,以及各位专家的经验和技术,这是本书出版的知识源泉。本书主要由Androidin社区的两名核心技术专家韩超和梁泉领衔规划和...

    android开发入门与实战(下)

    3.3.1 开发的基石——AndroidAPI核心开发包介绍 3.3.2 拓展开发外延——Android可选API介绍 3.4 本章小结 第4章 赚钱的市场——AndroidMarket及应用发布 4.1 GoogleMarket产生背景与目的 4.2 体验“选货”的乐趣...

    Android小部件Widget开发过程中的坑和问题小结

    概述 官方参考 Build an App Widget 效果图 放张效果图,这是我玩的桌面 app 文件夹 ... android:name=android.appwidget.provider android:resource=@xml/widget_desktop_options /&gt; &lt;intent-fi

    android开发入门与实战(上)

    3.3.1 开发的基石——AndroidAPI核心开发包介绍 3.3.2 拓展开发外延——Android可选API介绍 3.4 本章小结 第4章 赚钱的市场——AndroidMarket及应用发布 4.1 GoogleMarket产生背景与目的 4.2 体验“选货”的乐趣...

    《Google Android SDK开发范例大全(第3版)》.pdf

     全书共分11章,主要以范例集的方式来讲述android的知识点,详细介绍了开发android的人机交互界面、android常用的开发控件、android手机收发短信等通信服务、开发android手机的自动服务功能和娱乐多媒体功能以及...

    Google Android SDK开发范例大全(第3版) 4/5

    全书共分11章,主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合...

    Google Android SDK开发范例大全(第3版) 3/5

    全书共分11章,主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合...

    Google Android SDK开发范例大全(第3版) 5/5

    全书共分11章,主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合...

    新版Android开发教程.rar

    Android Android Android Android 开发背景 � 计算技术、无线接入技术的发展,使嵌入式系统逐渐有能力对桌面系统常规业务进行支持。 � 谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商...

    Google Android SDK开发范例大全(第3版) 1/5

    全书共分11章,主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合...

    《Google Android开发入门与实战》.pdf

     本书内容上涵盖了用android开发的大部分场景,从android基础介绍、环境搭建、sdk介绍、market使用,到应用剖析、组件介绍、实例演示等方面。从技术实现上,讲解了5个android平台下的完整综合实例及源代码分析,...

Global site tag (gtag.js) - Google Analytics