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

android.appwidget类剖析

HTML文档下载 WORD文档下载 PDF文档下载
随着Android 1.5的普及很多网友发现SDK中多出了appwidget这个框架。作为使用Java语言设计的Widget相比目前主流的W3C Widget有更好的运行效率和底层控制能力,今天我们就Android平台上的Widget开发做主要的讲解。

 

作者:Android开发网原创
   随着Android 1.5的普及很多网友发现SDK中多出了appwidget这个框架。作为使用Java语言设计的Widget相比目前主流的W3C Widget有更好的运行效率和底层控制能力,今天我们就Android平台上的Widget开发做主要的讲解。
  首先我们需要在androidmanifest.xml文件中加入receiver节点来接收系统广播,声明BroadcastReceiver类的方法可以直接使用intent filter来过滤系统信息,下面来自SDK中的写法。

 

作者:Android开发网

 

   随着Android 1.5的普及很多网友发现SDK中多出了appwidget这个框架。作为使用Java语言设计的Widget相比目前主流的W3C Widget有更好的运行效率和底层控制能力,今天我们就Android平台上的Widget开发做主要的讲解。

 

  首先我们需要在androidmanifest.xml文件中加入receiver节点来接收系统广播,声明BroadcastReceiver类的方法可以直接使用intent filter来过滤系统信息,下面来自SDK中的写法。

 

<receiver android:name="TestAppWidgetProvider"  android:label="@string/cwj"  android:icon="@drawable/smart_icon">    <intent-filter>        <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> //这里我们需要捕获的是APPWIDGET_UPDATE这个动作    </intent-filter>    <meta-data android:name="android.appwidget.provider" android:resource="@xml/appwidget_info" /> //定义meta数据,见下面的appwidget-provider </receiver>

我们定一个AppWidgetProviderInfo 结构,用来描述这个widget的外观,这里和layout的布局有些相似,可以设置最小的宽度为40dp,最小高度为30dp。

 

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"  android:minWidth="40dp"    android:minHeight="30dp"    android:updatePeriodMillis="86400000" //回调Timer,单位为毫秒。这里是1天=60X60X24X1000,Android手机的电能有限,频率不能太高,最好让用户自己控制    android:initialLayout="@layout/test_appwidget" //初始化时的主要布局    android:configure="com.android.tests.appwidgethost.TestAppWidgetConfigure" > </appwidget-provider>
在Widget中主要使用AppWidgetProvider做基类,刚才我们定义的BroadcastReceiver主要是更新动作ACTION_APPWIDGET_UPDATE ,与此之外还有ACTION_APPWIDGET_DELETED、ACTION_APPWIDGET_ENABLED和ACTION_APPWIDGET_DISABLED分别表示删除是、启用和禁用时触发的事件,这里是系统广播。我们通过 BroadcastReceiver类的onReceive方法来捕获。
  下面的Java广播动作获取代码如下:
public void onReceive(Context context, Intent intent) {      String action = intent.getAction(); //获取当前的动作    if (AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(action)) { //如果是ACTION_APPWIDGET_UPDATE动作则        Bundle extras = intent.getExtras();        if (extras != null) {            int[] appWidgetIds = extras.getIntArray(AppWidgetManager.EXTRA_APPWIDGET_IDS);            if (appWidgetIds != null && appWidgetIds.length > 0) {                this.onUpdate(context, AppWidgetManager.getInstance(context), appWidgetIds);            }        }    }    else if (AppWidgetManager.ACTION_APPWIDGET_DELETED.equals(action)) { //动作2        Bundle extras = intent.getExtras();        if (extras != null) {            int[] appWidgetIds = extras.getIntArray(AppWidgetManager.EXTRA_APPWIDGET_IDS);            if (appWidgetIds != null && appWidgetIds.length > 0) {                this.onDeleted(context, appWidgetIds);            }        }    }    else if (AppWidgetManager.ACTION_APPWIDGET_ENABLED.equals(action)) { //动作3        this.onEnabled(context);    }    else if (AppWidgetManager.ACTION_APPWIDGET_DISABLED.equals(action)) { //动作4        this.onDisabled(context);    }}
本文我们主要简单的讲述下Android平台Widget的框架,以后我们将会通过实际的例子来讲解,我们看到这里的widget和常见的iphone上dashboard等w3c使用html+js以ajax方式的小工具不太一样,不过整体开发起来比android标准的程序更简单,主要是考虑ui的绘制以及网络通讯,推荐大家多看看apache通讯类。

 

 

 

 

对比MapReduce 流处理框架没有所谓的查询层 美国政府:修复漏洞仍有风险 应禁用Java插件 AppGlu应用辅助工具:帮助开发者处理善后工作 iOS!你这几个方面该向Android好好学习 小于1%,中国有真正自主的移动操作系统吗? 张小龙专访系列(下):不一样的产品思维 Gartner:截止到2016年公有云市场复合增长为17.7% Appcore:在企业内部部署IaaS平台 B轮融资600万美元 超现实主义!用脑电波控制你的计算机设备 搜狐否认“情理之中”的退市 上市仍是最优选择 六大BaaS产品推荐:移动开发必备的后端云服务 未遵守承诺 微软遭遇欧盟7.31亿美元巨额罚单 PaaS正能量:6人团队,仅1人全职后端 支撑6000万用户 三星:我不抽成,收益100%让开发者拿去! 腾讯开放平台推“送红利计划” 承诺半年内不参与分成 JavaEE快速开发框架Wabacus 4.0发布,开发效率提高五倍以上 市盈率创新高 谷歌为什么会在苹果博弈中暂时胜出 从Rovio遇到危机,看现在应用市场的演变 Windows Azure支持Android应用 面向东亚推广云服务 抛弃DRAM、拥抱闪存,Facebook重做Memcached 夏普三星联姻 电子行业或将多元化发展 从下拉菜单设计细节看Amazon对用户体验的把握 Chartboost美女CEO:40人团队服务3亿移动玩家 Distimo:新晋开发者想让产品得到关注越来越难 OpenFeint绝迹后,开源项目OpenKit继续前进 美FDA通过搜索引擎和社交平台预警药品副作用 挖坟三星“眼球追踪技术”背后的技术团队 为什么开发者热衷在Stack Overflow上查阅API文档? Facebook推新News Feed 欲造就“个性化报纸” 女神程序员的一天:暴力测试social爬虫代码 2013IBM云存储路线图:更快,更简单,更安全 请问那里有ms exchange server2000正式企业版下载的?很急用,到处都找不到,请大家帮帮忙,谢谢! 如何得到正在编辑状态的一个列的值 谁有关于软件工程的英文文档? 如何判断哪个进程是我用程序打开的? 我的asp.net程序运行一段时间后,就会出现不能访问sql server的情况,好象说是缓冲区已满,不知如何解决? 如何利用串口来实现SNMP协议呢? 问中国球迷: 求一段从web页面通过提交插入sqlserver的源代码, 什么软件可以修改.hlp文件呢 谁有软件工程的英文文档? 请问如何给asp写成的系统打包成安装程序,我用了sql-server,难道连sql的设置之类的东东也一起打包吗? 请教PB高手,谁可以告诉我下段程序的功能 数据窗口中某字段为date类型,我希望新增记录是能自动将当天的日期附值给它 谁有 平衡二叉树的插入算法 的C源代码? 谢了 什么软件可以修改.hlp文件 id是怎么随机生成的?这是小弟我学asp.net遇到的疑惑 一个FLASH,,看看像不像自己。。。 谁有 平衡二叉树的插入算法 的C源代码? 谢了 请问那里有ms exchange server2000正式企业版下载的?很急用,到处都找不到,请大家帮帮忙,谢谢! Win2000辅助域控制器问题。无法建立辅助域控制器。谢谢! 什么函数能对CStringArray中的字符串按字母顺序排序? 请问数据窗口更新的问题。 请教有没有判断日期格式是否正确的函数? 各位高手,有人听说过PCI-7841,帮帮忙吧,拜托了 js可以修改xml里的数据吗? 如何知道某一台电脑的IP的子网掩码??急!!! 考试通过心情爽,开心、快乐的人请来!!! 什么地方有关于这个APACHE的安装,配置的讲解呀? 请教PB高手,谁可以告诉我下段程序的功能 神啊~~救救我吧~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 谁有没有好的方法将一条记录从表1中添加到表2(Ado连接)(在线等待)???? 如何判断鼠标是否移出一个窗口(广义上的窗口),且此窗口没有句柄 对delete 操作释放内存资源有些搞不清楚? SQL SERVER 中有没有计算余数的函数? 如何用vb开发web组件,比如说上传文件组件,发email组件,思路是什么?怎么样实现? 有谁知道哪里能下载我形我速,我找的网站下不下来,帮帮忙吧! 怎么让我的opengl程序link成static的,不想总是需要dll 为什么我的DBGRID不能用???? 来者有分!我想找一个能暂停一个程序并保存下来的软件。 100分的小问题,寻SQL语句,选出最小的记录? Dialog中能不能加ToolBar? ODBC参数绑定,为什么会失败,我已经试了最起码10次了,高手给我指教一下好吗,程序是这样的,谢谢! 请教一个数据库问题,大数据量时如何处理才能使速度不至于太慢,还望赐教! 我不明白,既然微软将C#定位在网络上,而且还大力支持ASP.NET,为什么在开发时还要大量借助于JavaScript呢? 怪事情更新表也会出现这种问题的吗?? 急!急!急!怎么不能注册com组件???? 怎样生成一个空文件,然后向里面写一些record数据? 有没有什么好的办法,可以倒入倒出数据? 关于encode,请帮忙! 如何过滤掉我不想要的xml文档? hydnoahark(诺亚方舟) come in!! 贪婪是什么词,现在是什么词(感情色彩) 电池中的碳棒有什么用?RT~还有,金属为什么会失电子? 交通工具的特点轮船.飞机.的. 按照行政公文写作格式,求拟写一份表彰决定,某某市运动员在第十届某某省运动会上表现突出,夺得金牌和团体总分第一,请代市政府拟一份表彰决定. 一个电池和两个碳棒连在一起,碳棒连着酸碱水溶液或硫酸铜溶液里将一个电池和两个碳棒ab连在一起,b碳棒和电池的c极连在一起,a和电池的d及连在一起,ab插在硫酸铜溶液里其中b有红铜出现, 液溴用一层水封盖再密封保存 和 固体碘放在棕色细口瓶中 哪个对哪个错 为什么 是不是固体都放广口? 贪婪的还义词 我国四纵四横高速铁路线客运网包括哪些路线? 只用一种试剂将AgNO3、KSCN、稀HCL、NaOH四种溶液分开的反应离子方程式为 转换法和等效替代法有什么区别RT 我感觉好像差不多 金属钠和氢氧化钠能发生反应吗?生成什么? 奴隶社会有地主阶级吗? 如何鉴别伯、仲、叔卤代烷如(CH3)3CCl、CH3CHClCH2CH3、CH3CH2CH2CH2Cl三者怎么鉴别~ 想要制取金属钠,电解融触氢氧化钠能做到吗? 我的理想 医生 怎么实现 纯水机的入水电导率有没有要求?高电导率的入水对膜寿命影响有没有具体关系?电导率 900μs/cm的进水行不行? 金属钠投入到氢氧化钠溶液中溶液质量会减轻吗?为什么? F和Cl形成的化合物的化学式是什么 桶装纯净水电导率国家标准是多少 用科学记数法17970万平方千米与一千六百亿个与九亿 如何加快铝拉丝油中铝粉的沉降? 新买电动车电瓶回题刚买没几天就发现电瓶用不了多久就没电,去问厂商说是还在磨合期,开几天就好了,有几点问一下懂行的人1:刚买的电动车(就是拿车时)电瓶是满电还是一半电,我的只 17970万平方千米用数字表示是? 来自春秋,战国,秦,汉,三国,晋,南北朝,隋,唐,五代十国,宋,元,明,清的名人有哪些?急. 把7.4gNa2CO3.10H2O和NaHCO3组成的固体混合物溶于水配成100ML溶液,其中C(Na+)=0.6mol/l则原固体混合物中Na2CO3.10H2O和NaHCO3物质的量之比为 不溶于酸的物质 硫酸钡和氯化银 能不能和酸溶液反应 能不能和碱溶液反应 春秋,战国,秦,汉,三国,晋,南北朝,隋,唐,五代十国,宋,元,明,清里有哪些人? 把7.4gNaCO3.10H2O和NaHCO3组成的固体混合物溶于水配成100ML溶液,其中C(Na+)=0.6mol/l.若把等质量的固体混合物加热至恒重,残留固体的质量是---------3.18g 为什么 凡是能与酸或碱反应的物质是不是除了氯化银和硫酸钡以外所有的物质都可以?还有,不能与水生成对应酸(碱)的酸(碱)性氧化物有哪些?请分别列举 春秋;战国;秦;汉;三国;晋;南北朝;唐;五代十国;宋;元;明;清的朝代的三个重点人物求求各位了 我的理想医生 我的理想是医生50字小短文 铝卷拉丝是什么意思 一个用科学记数法表示的近似数精确到几位数是从哪里算起?如:9.6×10^6平方千米精确到哪一位?注:^...一个用科学记数法表示的近似数精确到几位数是从哪里算起?如:9.6×10^6平方千米精 关于海口高速铁路的问题...想在正月初三的时候早上去三亚 当天就回...能提前订票么?提前几天订?可不可以一次买来回的那种票?如果要提前订的话怎么订啊?还有是不是三亚回海口的票很难 为了除去KCl溶液中的含有的少量FeCl3和K2SO4杂质,应依次加入的试剂是?A.先加入适量的AgNO3溶液,再加入适量BaCl2溶液B.先加入BaCl2溶液,再加入适量AgNO3溶液C.先加入适量KOH溶液,再加入适量Ba(NO3)2 36105.9万平方千米保留三个有效数字? 简述航空母舰的优点和缺点 在FeCl3+KSCN=Fe(SCN)Cl2+KCl的平衡体系中,(1)在溶液中加少量KSCN固体,平衡( )移动.理由( ) (2)在溶液中加少量KCl固体,平衡( ).理由是( )…… 使用空气能热水器供暖是否可行?相对于空调取暖是否节能?徐州地区空气能热水器工作原理类似于空调制热,空气能热水器通过热交换把冷水加热,然后热水通过暖气片散热加热空气,相对于空 急求与航天高铁有关的辩论赛题目 被蚊子咬 ,那么蚊子咬后,瘙痒是什么反射呢,..谢瘙痒是简单还是复杂反射 氯化银(AgCl)和硫酸钡(BaSO4)这两种物质什么酸都不溶解吗 封建社会时期,西欧封建精神支柱是 O和Na的最高价氧化物对应的水化物的化学式分别为什么? 是作文要有我的理想医生要做什么不少80字 西欧的封建社会开始于什么时期 铝挤中,拉丝用英语如何表达 我的理想 医生准备怎样去实现自己的理想 将下列的交通工具按发明的先后顺序排列,并说出他们的特点与优势飞机火车自行车轮船汽车 感受器-传入神经-神经中枢-传出神经-效应器为什么拿起烫馒头时先放手在感觉到烫啊应该是要先感觉到烫才能进行一系列神经传导到达效应器做出放手动作才对呀 什么电池里有碳棒?我想要电解水,可是总是不见正极冒泡.听别人说正极材料不能用铜,于是我改用碳棒.但是拆了好几个电池都不见碳棒,请问那种电池里有碳棒,请详述. 常用交通工具的特点和优势?火车、巴士、自行车、轮船、飞机的特点和优势各有哪些? 质量与密度习题一个瓶子装满水时的总质量是160g,装满密度为1.2*10^3kg/m^3的某种液体时的总质量是176g.求这个瓶子的质量和容积. 电池的碳棒在哪 所有的交通工具都共有的特征是什么? 反射弧中感受器、传入神经、神经中枢、传出神经、效应器受损分别会怎么样?老师把我弄糊涂了,我们老师说只有感受器不坏就有感觉,我觉得他说的不对. 普通的5号电池在家中被拆开了,把碳棒和粉状物清理了,但锌筒不见了,会对人体有危害吗? 这些交通工具按发明的先后顺序排一排,并说出它们的特点与优势飞机 火车 自行车 轮船 汽车 (1)反射必须要经过完整的反射弧么,如果直接刺激效应器引起的反应能称为反射么?(2)膝反射时,感受器和效应器都是伸肌么,如果是,那么为何同时屈肌又会舒张(不是应该和屈肌无关?)
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘