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

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;        }    }}

 

 

Growth Hacker正席卷全球,你了解它吗? Splashtop发布Ubuntu Linux版本Streamer 性能超过VNC 10倍 Windows 8引领智能操作 人机交互进入触控时代 豌豆荚发布新版应用搜索 推出“绿色标签”机制 权威解读:苹果的未来将走向何方? 有兴趣的来看看……个人无私分享! 关于网页使用快捷键的问题 熟悉xml的ggjjddmm们近来看看?我不知道错误怎么回事? 请问各位高手,如何在ASP.net中(用的是VB)对DataGrid中的行进行编辑、删除、排序等操作 如何把delphi中的程序编译成应用程序 C# Builder注册码? 帮小弟一个忙!小弟谢了! 追MM与设计模式(java的32种设计模式) 我做了一个网站请大家指教! 解释斑马身上的条纹和总是成群结队地待在一起,对它们 中南海烟嘴里面含活性炭杀精吗中南海烟嘴里面含的活性 洗涤用品是否对水造成污染 苯、乙醇、四氯化碳只用一种试剂可以鉴别吗 用一种试剂区别苯,乙醇,硝基苯,己稀,并说明现象 什么是企业功率因数 请问一下为什么我公司每天自己计算的功率因数比变电站 什么是功率因数是 醛类的溶点和沸点的特性 40名非洲移民渴死沙漠日本为何明目张胆地要成为抗衡中国的舵中国敦促美国尽快终止对古巴的封锁泰国前总理阿披实被控谋杀英国报纸窃听丑闻开庭审理艾丰:增加农民收入是解决三农问题的中农业部:对农产品质量安全“零容忍”晏英:战后日本新闻界扭转了对政府一味美国会议员再次提出汇率议案韩国百车追尾致2死65伤 7名中国人红云诀武动河山最强攻略系统生化危机之虫族入侵一世承诺奇梁洞旅游晏公庙旅游基诺山旅游敦厚堂旅游碧园旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘