对Android手机进行全解析

移动开发 Android
国内厂商和运营商也纷纷加入了Android手机的阵营,包括OPPO,中国移动,中国联通,华为通讯,联想等大企业。

随第一款Android手机的发布后,Android用户就开始尝试编写各种应用Widget(小工具)了。随着Widget API的公开,为开发人员带来了全新有趣的开发模式,除了传统的电话应用外,还可以做其它方面的应用开发。

开发人员可以使用Widget API(包含在Android手机中,最新版本已经到Android 2.0了)创建简单的控件,然后在新的Widget中显示和使用这些控件。本文向你介绍如何从零开始创建一个主屏幕应用Widget。

通过使用AlarmManager接口,以用户设定的时间间隔更新图片。你将看到如何创建一个Widget,以及如何随机地从一组图片中选择一张图片显示,根据用户设定的时间间隔周期性改变显示的图片。

创建一个简单的Widget包括以下几个步骤:

1、创建一个RemoteView,由它为Widget提供用户界面;

2、将RemoteView绑定一个Activity(行为)实现AppWidgetProvider接口;

3、在Android手机 manifest配置文件中提供Widget的关键配置信息。

项目准备一个Widget就是一个处理特定行为的BroadcastReceiver,AppWidgetProvider接口为开发人员提供了一个框架来简化处理这些行为,它包括以下方法:

1、onEnabled():创建第一个Widget时调用,如果可以,应在这里进行全局初始化。

2、onDisabled():它和onEnabled()相反,创建最后一个Widget时才调用它,如果可以,应在这里进行全局清理。

3、onUpdate():当Widget需要更新它的View时调用,用户第一次创建Widget时也需要调用它。

4、onDeleted():当Widget的一个特定实例被删除时调用,清理特定实例应放在这里进行。

5、onReceive():此方法默认情况下处理BroadcastReceiver行为,并调用上面的方法(警告:根据相关文档记载,需要开发人员自己处理某些特殊情况,更多信息请看下面的说明)。

你可能已经注意到,和常见的定义不一样,小节引用了一个XML文件资源,这个文件为Widget定义了额外的数据。与AppWidgetProviderInfo类一致,这里定义的信息是不变的,因此这个例子不包括updatePeriodMillis的值。

因为这个程序允许用户修改与更新时间,如果你在这里分配updatePeriodMillis,它就不能这样做。下面是imageswidget_info.xml文件的完整代码:

  1. <receiver android:name="ImagesWidgetProvider"> 
  2. 2    <intent-filter> 
  3. 3    <action 
  4. 4    android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
  5. 5    </intent-filter> 
  6. 6    <meta-data 
  7. 7    android:name="android.appwidget.provider" 
  8. 8    android:resource="@xml/imageswidget_info" /> 
  9. </receiver> 
  10. 10 

【编辑推荐】

  1. 新一代的Android手机介绍
  2. 深度剖析Android SDK版本介绍
  3. 谷歌Android手机能否站稳中国
  4. PythonAndroid深度剖析Android应用程序的四种构造块
  5. 探秘与众不同的Android系统?
责任编辑:chenqingxiang 来源: 中国计算机报
相关推荐

2010-02-06 17:17:17

Android手机

2010-03-04 16:38:37

Android开发技巧

2010-03-03 13:43:46

Android手机系统

2010-02-07 10:21:27

Android应用程序

2010-03-01 14:28:46

Python进程

2010-02-22 10:18:29

Python代码

2010-02-06 10:14:36

Android Act

2010-02-05 14:54:56

Android UI

2010-03-02 15:51:05

Android手机

2010-03-02 10:46:21

2010-02-05 15:22:14

2010-02-23 15:29:43

Python 编辑器

2010-02-06 16:26:30

Android开源

2010-02-04 16:03:40

Android传感器

2010-02-06 10:42:41

Android Ser生命周期

2010-03-16 14:55:01

Cisco以太网交换机

2010-02-22 11:02:55

Python功能

2010-03-04 17:50:42

Android操作系统

2010-03-01 18:21:08

Python测试

2010-03-01 13:19:21

Python线程内容
点赞
收藏

51CTO技术栈公众号