Android桌面widgets和AppWidget框架(译)

【Android开发者】aimself

本文翻译自Android Developers Blog:Introducing home screen widgets and the AppWidget framework

Android 1.5 SDK一个令人兴奋的新特性是AppWidget framework,这个框架允许开发者开发widgets,这些widgets可以被用户拖到用户的桌面并且可以交互。widgets可以提供一个full-featured apps的预览,例如可以显示即将到来的日历事件,或者一首后台播放的歌曲的详细信息。

当widgets被拖到桌面上,他们被指定一个保留的空间来显示应用提供的自定义内容。用户可以通过这个widget来和你的应用交互,例如暂停或切换歌曲。如果你有一个后台服务,你可以按照你自己的schedule更新你的widget,或者使用AppWidget framework提供的一个自动的更新机制。

在更高层次上,每个widget就是一个BroadcastReceiver,他们用XML metadata来描述widget的细节。AppWidget framework通过broadcast intents和你的widget通信,例如当需要更新的时候。Widget更新使用RemoteViews被构建和发送。这个RemoteViews被包装成一个layout和特定内容来显示到桌面上。 继续阅读