Android Widget 设计与开发
Widget杂谈:最早Widget是指在PC的桌面上的小窗口程序;Web上的先行者似乎是Yahoo!;当然,OPhone也搞了一套Widget,HTML+CSS的东东。
我们这里谈的所谓Widget,就是窗口小部件,Android SDK从1.5版本开始支持AppWidget framework,返个框架允许开发者开发Widgets,这些Widgets可以被用户通过长按桌面进行添加,与应用程序进行数据交互。
需求:
在桌面上开发一个Widget,可以实时显示IM软件的状态更新变化;可以通过左右按钮,查看上次或下调更新内容。
(参考效果图)
设计思路:
(参考设计序列图)
代码:
Java:
/src/org.anymobile.demo.Globals \\Intent.action 声明
/src/org.anymobile.demo.service.UpdateService extends Service \\同步、更新Widget布局数据的Service
/src/org.anymobile.demo.widget.UpdateAppWidgetProvider extends AppWidgetProvider \\Widget,接收器
XML:
/res/layout/update_appwidget.xml \\布局设计
/res/values/strings.xml \\常量声明
/res/xml/update_appwidget_info.xml \\app widget定义
AndroidManifest.xml