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

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通讯类。

 

 

 

 

show()-JQuery API slideDown(speed,callback)-JQuery API slideToggle(speed,callback)-JQuery API slideUp(speed, callback)-JQuery API toggle()-JQuery API Javascript-JQuery API $.browser-JQuery API $.each(obj, fn)-JQuery API $.extend(target,prop1,propN)-JQuery API $.grep(array,fn,inv)-JQuery API $.map(array, fn)-JQuery API $.merge(first,second)-JQuery API $.trim(str)-JQuery API Ajax-JQuery API $.ajax(properties)-JQuery API $.ajaxSetup(settings)-JQuery API $.ajaxTimeout(time)-JQuery API $.get(url, params, callback)-JQuery API $.getIfModified(url, params, callback)-JQuery API $.getJSON(url, params, callback)-JQuery API $.getScript(url, callback)-JQuery API $.post(url, params, callback)-JQuery API ajaxComplete(callback)-JQuery API ajaxError(callback)-JQuery API ajaxSend(callback)-JQuery API ajaxStart(callback)-JQuery API ajaxStop(callback)-JQuery API ajaxSuccess(callback)-JQuery API load(url, params, callback)-JQuery API loadIfModified(url, params, callback)-JQuery API serialize()-JQuery API 大家一起来帮帮我 我是个新手请教如何在98下安装和设置apache,尽是详细些,最好给介绍些资料 高手请教,有关类的链表指针 如何定义日期类型? 请教高手!如何执行带条件SQL语句? 大家一起来为c#加油阿 追女教训谈 如何用OUTLOOK作多用户使用???? 赐教 有谁知道ramdrive.sys在dos下的详细用法,敬请赐教,倍感感激!! 怎么用Delphi调用MySql(win) 关于frame的问题. 为什么显示不出来???? c#通过INTERNET远程访问数据库都有什么办法?(请高手指点) 有誰能把CDONTS.DLL(電子郵件)的源代碼貼出來嗎?有分送,THANK! 请教 NetColorWolf(NCW) pb7的工具条栏的文字字体! 为什么,我的子窗口调用另一个窗口时,总是新开一个被调用窗口,而且被调用窗口中的ADOTable的connected总是丢失。why 《Delphi淡手辑略 之 数据库篇》:数据安全删除(函数) 请教! 我用setfocus使一个控件聚焦,但我想隐藏光标,不想让它在界面上闪动,怎么办? 用delphi 编防火墙 有谁知道ramdrive.sys在dos下的详细用法,敬请赐教,倍感感激!! 关于Delphi线程构造函数: 简单问题 ADSL代理上网部分站点上不去解决一例. 消息中间件的功能?各位铜人帮忙! 如何改变对话框和窗体的背景色呢? 《Delphi淡手辑略 之 数据库篇》:打印DBGrid中的所有数据(过程) 有关Delphi指针的问题,请高手帮忙!!!!!!! 还是weblogic问题 麻烦帮我检查一下代码,实在想不通 请问大家我新买一台品牌机,再使用时经常死机是怎么回事? 哪里有介绍Active Directory 的中文资料? 怎样在ListView组件的详细显示模式下,让屏幕自动随输出数据滚屏和聚焦在输出的数据上面。 实现接口时出错,分数大大的有 《Delphi淡手辑略 之 数据库篇》:数据集解构成树(过程) 100分求教!!!文章“如何快速自动生成并定制报表”的问题!!! 一个农民上网的代价! 怎样将分割视图在一开始显示的时候就是确定的? Win2000server如何设置成路由器? 存储过程和函数得问题 转帖]!现在各大城市求爱对话写真 如何把XML+XSL的输出结果显示到一个指定的HTML元素里? 有些API中的参数开头是lpsz ,lpsa ....请问什么意思?相关的也说说好吗?谢谢 为何长语句分不了行 我用vs.net正式版开发的留言簿提供全部源码下载 公车上的性骚扰 请问哪里有比较好的关于 OpenGL 的网站或者是论坛啊?小弟的毕业设计课题是关于这个的!(NULL) 一个高难度的问题,特急! 在linux下有没有类似windows当中的dos95.BAT的文件 为什么在程序运行SQL中的存储过程,会出现未能找到存储过程...,可是我在SQL中有这个存储过程阿! 不晓得《资本论》的英文名字叫什么,特地来请教大家 一个高难度的问题,特急! UC是什么意思 做匀变速直线运动的物体位移随时间的变化规律为x=24t-1.5t^2(m)根据这一关系式可以知道,物体速度为零的时.为什么 有没有关于欧洲历史什么的概述书啊、文章啊都行 《听泥土说话》阅读答案课时达标上的 做匀变速直线运动的质点,它的位移时间变化的规律是s=(24t-1.5t*t)m,则质点的速度为零的时刻是 3()3()3()3=8 ()里添符号3()3()3()3=8()里添符号 《听泥土说话》中的阅读答案,越快越好!(1)文中的他两次与泥土对话后分别有什么变化?(2)文中最后一段为什么要写那些和他一起同时发迹的伙伴“掉下来”的事?(3)读完短文后,结合 做匀减速直线运动的质点,它的位移随时间变化的规律是s=24t-1.5t2(m),当质点的速度为零,则t为多少答案是16s.可我算出来是8s. 12个3等于2000,3之间添符号+-×÷. 《听泥土说话》的阅读答案 父母的教诲:500字作文教诲 六年级第二学期的课文当时延安的生活很艰苦,为什么会有那么大的吸引力? 听泥土说话朗读指导从此,儿子处世如泥土般低调,性情如泥土般内敛,为人如泥土般虚心,对待成败得失亦如泥土般自然、平静和从容.请用着重号在上文中画出朗读重音,并说说理由. 物理致癌因子? 杨家岭在课文延安我把你追寻里是什么样地方 听泥土说话阅读题文中的“泥土”仅仅是指自然界的泥土吗?请谈谈你的理解阅读全文,仿照地⑧段,在地3段的横线上把句子补充完整请简要分析文中画线句“再把这泥土扔了,就等于扔掉了我 四个5,填三个符号,得2使用加减乘除,使等式成立. 语文书六年级下册第四篇课文《延安,我把你追寻》诗人为什么要追寻延安?追寻延安什么?急 一物体的运动方程是s=5t+1.5t^2,则物体在时间段[0,1]内平均速度是多少?在1s时的瞬时速度是? 延安我把你追寻小学课文中的这篇课文中的精神指什么.是有三个问题 ,填空类型的.要简明点. 唱南泥湾这首歌,联系延安,我把你追寻课文,写自己的感受一定要准确点的啊! 做匀变速直线运动的物体的位移与时间的关系为s=t^2+0.5t,则经过()s他的速度是3m/s 延安,我把你追寻,追寻什么 历史科论证题有人认为甲午战争是中国历史发展的一个重要的分水岭,它使中国近代化的进程大大加快了,请你论证这一观点(从经济、思想、政治几方面论证) 一质点作直线运动,其位移x(m)与时间t(s)有t(2-t)的关系此质点在头2s内的平均速度等于?第2s末速度 写爸爸的作文500字左右最好以别人托出爸爸的好.最好是最新的.只有1个钟头时间喔.好的话, 四个五怎样得到2添运算符号 诗人为什么要追寻延安 气温变化是属于物理学中的什么运动?今天20度,明天15度,后天22度...物理学里记得有直线运动,曲线运动,圆周运动,简谐振动等等...用那个运动来解释它,比较合理?为什么? 延安,我把你追寻,到底追寻什么? 《延安,我把你追寻》中的问题2.延河枣园、南泥湾开荒的镢头、杨家岭、温热的土炕、顶天立地的脊梁各象征什么? 孟子鱼我所欲也主要内容 介绍一下《延安,我把你追寻》 《延安,我把你追寻》的问题.1.《延安,我把你追寻》主要写什么?2.《延安,我把你追寻》写到了哪几个地方?3.《延安,我把你追寻》是围绕延安精神写的.请你将这首诗分成三个部分,并概括每个 如果非要分别 那么天气的温度变化属于物理变化还是化学变化 历史上自然灾害 《延安,我把你追寻中》的问题作者在第二节中,连用了四个“追寻你”.诗人为什么追寻延河、枣园、杨家岭和南泥湾呀?用具体的事例说说你的理解.第一个“你”代表_______________;第二个“ 鱼我所欲也中的重点词有哪些? 历史自然灾害 一个物体做匀变速直线运动已知位移方程为X=(5t-2t平方)m该物体运动的初速度为(?) 流通环境的物理因素,气象因素将对产品产生什么影响 诗歌的题目是“延安,我把你追寻”,这和“我把你追寻,延安”“追寻你,延安”在表达效果上有何不同? 某物体做匀速直线运动,其方位方程为x=(5t+2t方)m,则该物体的初速度为(),加速度为(),2s之内的位移大小为(),2s末的速度为() 用简洁的语言概括《鱼我所欲也》的主要内容 延安,我把你追寻 全诗我要这首诗全文! 什么(填物理或化学)变化中伴随什么(填物理或化学)变化的发生? 作者在第三段中阐述的观点 延安我把你追寻的诗的意思望火速回答 下列各项中属于化学致癌因子的是( ) A电离辐射 B X射线 C紫外线 D 苯 关于写父母的爱文章,500字 诗中“追寻延安”的意思是?直接说“追寻延安”的意思 紫外线是致癌因子吗 西周时期的历史概述请简要介绍西周时期的历史,可以参考哪些书籍 《延安,我把你追寻》诗句意思我像答案. 做匀减速直线运动的质点,它的位移随时间变化的规律是S=24t-1.5t的平方,当质点的速度=0,则t为多少?选项A.1.5s B.8s C.16s D.24s 简述唯物主义基本观点和历史形态? 论述:邓小平理论的科学体系及历史地位 UC是什么意思?一直听说UC,UC是什么意思? 做匀减速运动的质点,它的位移随时间变化的规律是s=24t-1.5t²(m),当质点的速度为零时,则t为多少? 从中国历史角度阐述劳动创造人类!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘