说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Android Widget开发实例-电量监控

HTML文档下载 WORD文档下载 PDF文档下载
一个简单的电量监控代码很好地演示了Android平台下Widget开发中的基础方式。

作者:Android开发网

一个简单的电量监控代码可以很好的演示Android平台下Widget开发中的基础方式,比如appWidget如何于Service交互以及RemoteViews的演示。完成的工程代码我们稍作美化后提供下载,同时下次开始我们提供一些国外比较优秀的开源工程实例做剖析,从2007年11月至今SDK发布已经近两年了,相信大家可以看到整个Google Android平台的开发还是十分简单的,难度等级和J2ME相似,相信入门的网友只要经常光顾Android开发站点一定会很好掌握的,具体请看如下代码:

 

import android.app.Service;import android.appwidget.AppWidgetManager;import android.appwidget.AppWidgetProvider;import android.content.BroadcastReceiver;import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.IBinder;import android.widget.RemoteViews;public class BatteryMonitorWidget extends AppWidgetProvider{    public void onUpdate( Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds )    {               context.startService(new Intent(context, BatteryMonitorReceiver.class));    }    public static class BatteryMonitorReceiver extends Service    {        private int currentBatteryLevel = 0;        private BroadcastReceiver batteryReceiver = new BroadcastReceiver()        {            @Override            public void onReceive( Context context, Intent intent )            {                currentBatteryLevel = intent.getIntExtra( "level", 0 );            }        };        @Override        public void onStart( Intent intent, int startId )        {            //注册一个动作改变事件捕获,这里为电量改变时即ACTION_BATTERY_CHANGED            registerReceiver( batteryReceiver, new IntentFilter( Intent.ACTION_BATTERY_CHANGED ) );              RemoteViews views = new RemoteViews( getPackageName(), R.layout.main );  //从layout下main.xml中构造widgets            //这里我们应该判断currentBatteryLevel的数值来显示图片电量等级,比如battery_level_1或battery_level_5等等,下面是n            views.setImageViewResource( R.id.ImageView01, R.drawable.battery_level_n );            views.setTextViewText( R.id.myText, currentBatteryLevel + "%" );  //从BroadcastReceiver读取当前的电量等级            ComponentName thisWidget = new ComponentName( this, BatteryMonitorWidget.class );            AppWidgetManager manager = AppWidgetManager.getInstance( this );            manager.updateAppWidget( thisWidget, updateViews ); //开始执行了        }        @Override        public IBinder onBind( Intent intent )        {                  return null;        }    }}

 

 

“云”筹帷幄 开发者必知的5大SaaS在线服务工具 超350个政府项目托管在GitHub 政府开源会成主流? Kinect for Windows SDK 1.7正式发布,支持3D建模 SafeNet与风河系统联手推出VxWorks嵌入式系统软件货币化方案 Windows Server 2012中的动态负载均衡 Google等互联网公司将成为创新中心? 在Hadoop的战争中 MapR获新一轮3000万美元融资 初创公司DNNresearch:谷歌科技帝国的新“基石” 创业了,我们该如何起名? 乐视网联手富士康推新盒子C1S “0+290元”新浪微博发售 吸引开发者:只要开发新应用 微软便奖100美元 PaintCode - 将矢量图转化为Objective-C代码的开发神器 苹果发布iOS 6.1.3 封杀evasi0n越狱所用漏洞 [API快讯] Google开放实时协作API 58同城开源轻量级Java Web框架 Argo 初创公司AppNeta:4轮融资,4780万美元 MongoDB释放2.4版本:692更新及8大得意之作 十年6亿美元!Amazon云计算喜获CIA大单! 国人当自强:HTML5+联盟首次筹备会成功举行 开源框架TAAE发布 快速打造iOS音频应用 如何学会600多种编程语言 “第五届中国云计算大会”将于2013年6月5-7日在京召开 Ridiculous Fishing:游戏遭遇山寨如何一雪前耻 老游戏的今天:Doodle Jump每周进账2万美元 剑指Evernote 谷歌正式推出Google Keep 开源的JS MVC框架 Backbone.js 1.0发布 前Facebook资深员工王淮给技术创业团队的十点建议 微软发布Windows Embedded 8系列操作系统 Google Play 4.0抢先体验 中国 vs. 非洲:移动医疗的前世今生 Java大数据框架初创企业Concurrent获400万美元融资 helpkeyword属性设置问题 我想自己攒1台机器,用来家用和学习,比如学.net等,打算在4000—5500左右,请大家帮忙推荐一下给怎样配置? 100分悬赏,求可以通过身份验证的发送电子邮件的程序的例子,决不食言。 flash中有没有类似photoshop中的模糊滤镜的功能? 运行中终止系统! 怎样实现单击展开一个节点 请问哪里有VTune Profiler下载?据说它能分析VC代码中各函数所占用的开销 请教:用简单的查询来说明分布式数据库是怎么实现的? 事务日至到底有什么用呀? 两个线程共同调用一个静态函数,如何在一个线程调用的时候,阻塞另一线程的调用? 定制控件可不可以使用用户控件作为子控件? 我的困惑,一个值得深思的问题 存储过程,我再加一个参数@sessionuser char(8),在调用该存储过程时,我如何把参数传给sp_querycard? 如何实现页面剪切? hot, hot, hot! 有关Java Swing的编程问题 两个线程共同调用一个静态函数,如何在一个线程调用的时候,阻塞另一线程的调用? 如何将程序做成服务的形势,如何调用,有没有这样的实例啊 如何在2000下進行命令行撥號 打印问题请教!!急!!! 來取分關於weblogic7 俺也灌一次水: 45/59 = ? 一个关于处理WORD文档的问题? 喜欢许巍 的请进来 不通过DataSource 如何给DataGrid 的DataGridBoolColumn列赋值?(在线等待中...) 谁有MicroStation BASIC开发语言参考中文版 请问:如何通过JAVA程序访问Web页面? Win2000的最小安装需要多少容量?快抢分啦! 如何将一个table从原来的tablespace移到另一个tablespace 计算一个月有几周,星期一为第一天,相关语句 骆驼您好,刚才没看到你的回贴的时候,那个贴我已经结贴了,我还有问题请教,请进,多谢。 请问哪里有VTune Profiler下载?据说它能分析VC代码中各函数所占用的开销 请问如何在ftp上收发xml文件。。。请具体点告诉我或贴源码或贴相关文章地址 文件解析 VC的OPENGL编程显示提示框时,显示内容是以前绘图的,不是最新绘图的,怎么办? 请问为什么create table bbb as select * from aaa ,aaa上面的缺省值还有索引都掉了呢? 如何在数据库里存文本文件? 用什么工具可以查看内存是否有泄露, Win2000上是什么, Win98上是什么 为什么用oledbadapter不能更新数据库阿? 软件陷阱问题 请问哪里有VTune Profiler下载?据说它能分析VC代码中各函数所占用的开销 在weblogic7.0上面jsp文件运行问题 请教关于打印遇到的问题 谁能个--报表例子(水晶报表。vb.net)--报表的数据源要是动态生成的。 利用WMI管理WINDOWS 请教:如何在chm帮助文件中执行应用程序。谢谢 Weblogic+Mysql的Jsp/Java程序的数据库该怎样连接?? 在java代码中引用php的变量?请问如何写? tclientdataset问题 急!!!!VFP触发器取值问题 怎么样才能卸载REDHAT8.0下的XMMS,而装7.3下的XMMS? 请教一个有关于对话框上控件重画的问题!谢谢! 专家认为:美对叙动武为进军伊朗前奏法国调查美“棱镜”计划中新关系开新局英国国会投票反对政府向叙利亚动武西方暂缓对叙开战步伐 联合国化武调查科学家培养出“迷你人脑” 可用于疾病英国防长:英国不会参加对叙军事行动洛杉矶打击酒驾与超速 逾千人被拘捕美国称将按照符合美国利益原则对叙采取美国称将按照符合美国利益原则对叙采取英国防长:英国不会参加对叙军事行动洛杉矶打击酒驾与超速 逾千人被拘捕日本增兵那霸 意在经略西南俄称联合国专家工作中断后不应结束叙化国际新闻早报:美国向叙利亚附近海域增[组图]中国女星闪耀威尼斯 盘点出席邓小平与撒切尔夫人交锋记人民日报详解“为何路虎车内地售价高英英国议会否决对叙利亚军事行动提案随笔:警惕叙利亚重蹈伊拉克战争覆辙日本7月份工业生产回升打个电话,的士到身边外商投资产业限制类条目原来真的有“秘方”“健康中国”,每个人都会受益张琳芃标价千万欧元与全省人民同步小康体彩顶呱刮“招财进宝”上市啦!张琳芃标价千万欧元关于颁发《中华人民共和国金融许可证》“村村响”明年全覆盖中联重科斩获8000万元海外大单整治职业资格证书“租赁”行为中国人民政治协商会议第十二届全国委员加强白酒市场准入监管推进湖南农村电网改造升级贝克汉姆“点赞”中国料理食品维权哪些可“退一赔十”?粤前两月进出口增0.1%离婚30年后生活窘迫 英妇向前夫追讨日官员妄议中国阅兵式 日媒称针对日本125条路段确定咪表收费标准
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘