You are here Android > 开发者 > 开发讨论 > 教程之Android widget学习 <有源码>

机器人


93.089%

disconnected
登录后回复主题 | 跳到回复(3)

教程之Android widget学习 <有源码>

... by 机器人 ... 29 月 9 天前 ... 657 次点击

这一节透露大家怎么使用widget 也就是在桌面可以查看一下信息 不用运行程序

本次演示的是一个时间的widget 能够显示当前时间 好了??代码见附件
下面主要说明一下一些特殊的情况 补充一下:

1. widget怎么使用?其与别的应用程序不同 但仍需先运行一遍 然后回到Home 鼠标点住桌面空白处并长按 会跳出一段选择对话框 选择 widget??然后在选择本例的 CustomWidget??然后桌面就会显示一个时钟 并会同步时间 我的情况如图:


而上面提到的选择界面如下:




2. 因为一些函数在AppWidgetProvider中不可用 所以:一个办法是通过startService()把具体的更新放在另一个函数UpdateService里面 但Service也不能保证所有的方法可见 比如:findViewById 和 setText??解决方法后面还有讲述

3. 对了 忘了其实现原理了 抱歉! CustomWidget 是 extends AppWidgetProvider 而后者AppWidgetProvider 也是一种BroadcastReceiver??该receiver的action为"android.appwidget.action.APPWIDGET_UPDATE"??系统没隔一段时间 就会发生更新widget的broadcast 凡是注册过"android.appwidget.action.APPWIDGET_UPDATE"的widget都会运行AppWidgetProvider 中的onUpdate方法 所以我们只要在onUpdate方法中实现时间同步更新即可

4. 具体时间相关处理
Time estTime = new Time("EST");??//初始化
? ?estTime.setToNow();??// 设定为当前时间 以此达到更新的目的
? ?String result = estTime.format("%H:%M");? ?//设置一下格式

5. 上面提到的一些函数 比如:findViewById 在 UpdateService 中不可用 使用我们只能借助于 RemoteViews??具体怎么使用 大家可以看看代码应该就会明白 如果还有问题 可以提出来 这一就有的放矢了


6. 源码见附件

1 - 2010-7-31 21:14
fancheng89 地球
有没有源码, 是不是解忧
2 - 2010-10-12 21:36
mmqqll 地球
yuan码在哪呢?
3 - 2010-12-24 16:49
qq408170918 南昌
ggggggggggg
看完之后有话想说?那就帮楼主加盖一层吧!

在回复之前你需要先进行登录
电子邮件或昵称
密码
当前热门主题  有谁想学习利用ksoap2连接webService远程接口吗? ... 12 篇回复
© 2009 A Nanshapo Production   -   About
a site powered by Project Babel