- 论坛徽章:
- 0
|
Appwidget
要了解AppWidget,得先了解Homescreen。
HomeScreen是一个手机的脸面,是一个门户网站的首页,是手机上最为重要的应用。有一个好的homescreen,可以说这个手机已经成功了一半。
开发者当然可以在homescreen上开发很多功能和界面,比如一个时钟,一个天气预报,一个显示当前电池电量,未读短信等状态的状态栏等等。实际上,传统的homescreen也是这样做的。但这样做的弊端有两个:1. homescreen代码过于庞杂,和系统各个子系统都有交互,容易出错,不易维护;2. homescreen不能定制。最终用户可能有不同需求,而预设的功能则限制了用户选择的权力。
AppWidget 的出现主要就解决了这些问题。AppWidget是一个特殊的view,由一个应用(假设应用A)创建和维护,而绘制却在另一个应用上(通常即homescreen)。即应用A负责决定画什么,如一个时钟;而homescreen却负责具体画,即怎么画。如果用一个比喻来形容的话,homescreen和应用A之间的关系就像是一个Browser/Server架构, homesreen 就是一个负责显示的browser,而应用A就是后台的Server。应用A传递RemoteView给homescreen,而homescreen解析并绘制这个RemoteView。这样,不用对homescreen应用做任何改动,却可以定制并丰富了homescreen的显示内容,如一个时钟,一个日历等。
如何创建一个AppWidget, 如何深入理解AppWidget, 等等,可见下列链接:
1. http://www.google.com/url?sa=t&a ... %3A%2F%2Fdeveloper.android.com%2Fguide%2Ftopics%2Fappwidgets%2F&ei=Ct6iS93OMc-GkAWp0ODFCA&usg=AFQjCNGPwi7jyY4KL4MVAQzOZr_ALxZfwQ&sig2=iLmH_iOVfFHZz5p7gpGENA
2. http://www.google.com/url?sa=t&a ... REps5wYMGqtLOqoghsA
3. http://mylifewithandroid.blogspo ... rtext-document.html
4. sample code located in development/samples/ApiDemos/src/com/example/android/apis/appwidget/
使用service, 也可实现两个应用之间的交互,大家可以探讨一下二者的区别。
|
|