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

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

 

 

 

 

VB判断一个驱动器的类型 屏蔽文本框默认的右键菜单——浅谈如何控制Windows消息 -VB资料 奇数和偶数校验-VB资料 启动控制面板命令大全 -VB资料 VB取得 DOS 环境变量 VB取得并设置双击间隔时间 VB取得磁盘序列号、卷标和文件系统类型 VB取得短文件名 VB取得和设置计算机名 VB取得和设置系统颜色 VB取得计算机名 VB取得目前所有的输入法 VB取得应用所在的目录 趣味撞球——VB应用程序一例 缺省值和可选参数 -VB资料 确定当前 WIN95 的启动状态-VB资料 让TextBox的输入具备overwrite(覆盖)的功能 -VB资料 让密码轻松显示 -VB资料 让文本框输入完后,直接跳入下一行 -VB资料 VB如何编制带有不定个数参数的过程。 VB如何充分扩充VB功能 VB如何传递不固定个数的叁数? VB如何打开和关闭光驱门 VB如何导出收藏夹到文件或者导入文件到收藏夹 VB如何得到磁盘上剩余空间的值 VB如何得到应用程序的资料! VB如何调用chm格式的帮助文件 VB如何调用控制面版中的应用程序 VB如何动态更新数据报表 VB如何改变 NT 预设的打印机? VB如何改变 Windows 预设的打印机 如何用java实现word文档(含图片和表格等)转换成html文件 vb中能不能再过程中定义全局的数组 当在TREEVIEW里CLICK某项时,想让LISTVIEW里的相应ITEM变成SELECTED(变为兰色选中)。 windows2000 professional 怎么屏蔽CTR+ALT+DEL 或任务管理器 成都的java程序员,请大家联系起来! 师傅出门了,还望哪位大侠能够指点一二..300分酬谢谢//小新的徒弟敬. 怎样创建一个弹出式子窗口在显示时父窗口同时为激活状态(标题栏为蓝色)? 急!请问如何在java的GUI界面上,点击一按钮,来运行一批处理文件?? 一个小问题!(不好意思问!) Dim cReg As New cRegistry 该引用哪个库(库的全名) 学习遇到的难题 特殊按钮 我想开发一个三层结构的进销存软件问题? 怦怦运气,看看有没有人知道,近来看看 请问有那个网站有关于ORACLE的入门书籍下载. 非常不错的delphi网站 我有一个问题想问问大家!!!有分送哟。 高价收购! 谁可以给我TSR完整的例程...(要有注释喔) 现在用的控件都是D版的,以后怎么注册软件啊? 请过了网络设计师的兄弟帮帮忙! 在C中,找一个字符或字符串在另外一个长字符串(64K)最后出现的位置,怎么实现最高效呢? 用 DHCP 分配了二个网段的IP地址。 “斑竹”在吗?象是只有你能够解决了!!!(附程序及错误代码!!!) 请问哪位仁兄知道SYGATE4.2 build 803的注册码? 如何在表单中阻止双引号??? 大虾们,帮我看看,这个错误和警告是什么原因造成的? 帮帮我吧 关于B/S报表? 怎样设置msflexgrid某一列的颜色? 用 DHCP 分配了二个网段的IP。 怎么能抓到密码? 在运行时想改变一个label的字体怎么改变,有没有做过的,label的属性在设计时是可以改的 fatal error C1010 找一个和VB的属性区一样的代码,控件或类库均可 如何调用在不同的窗体里自定义的过程 一个技术探讨问题,我想知道象在WORD等软件中插入图形或图象后,还能把它选择,并移动是怎样实现的? 请问:在另一个.asp文件中如何调用相同的变量? WEB初级应用问题 DIALOGBAR问题 请想报考明年的网络设计师的朋友进来聊聊 Oracle面向对象特征讨论,请进! 我学会VISUAL C++ 到底要多少时间 线程调试问题 大家一起进来讨论oracle和sql server的日志哦 请指教如果设置服务器端COM组件的权限,使终端可以访问到?分数好说啦,急,高手快帮忙! 如何把程序嵌入到widows Expolore 中? 今天心情特好!散分 在vc下怎样调出window下的“打开方式”对话框,他是类还是控件!请高手指点! 一个门外汉的问题~~~~ 谁知道windows共享密码如何算的 某服装公司用公式C=10+12n计算成本费.C表示成本费,n表示做一件服装所需的时间.试根据公式填写下来n(时) 2 3.5 4.2C(元) () () () 一件衣服原价200元,如果按八折出售,这件衣服现价多少元? 数列{an}中,a1=3,且对于任意大于1的正整数n,点(根号an,根号an+1),n+1是下标.在直线x-y-根号3=0上则an=?答案是3(n-2)^2.我在百度里还看到了其他的这种题,但是都是an-1.我不知道差别在哪里.顺 服装成本如何计算?哪位大虾知道... 数的整除题在37的后面补上两个数字,它就能被3、5、7整除.这个四位数是多少?顺便问一下,能被7整除的数有何特征? 一件打衣服打八折销售现在比原来便宜40元这件衣服原价多少元 如何计算服装的成本? 一件衣服打8折出售,现价是原价的百分之几? 数列(an) 满足a1=3,对任意大于1的正整数n,点(根号下an, 根号下an--1)在 直线x--y--根号3=0,求an(详 有关自然数质数的.有自然数1,2,3,4……,去掉其中三个数,剩下的数的平均数是19又9分之8,已知去掉的数有两个质数,问这两个质数的最大的和是多少?(最好有解题过程), 一件衣服打八折销售的价格是80元,那么原价是 一件衣服若打八折之后便宜了 自然数C是最小的质数,且a,C的和也是质数,数字a最小是多少? 好评 过程 一件衣服打8折出售,就是这件衣服按原价的80%好评 过程 一件衣服打8折出售,就是这件衣服按原价的80%出售,现价比原价降低了( )%多少出售. 在数列{an}中,a1=1,且对任意的大于1的正整数n,点(根号an,根号an-1)在直线y=x-2n+1上(1)求数列{an}的通项公式(2)若b1+b2+……+bn=an,求数列{bn}的通项公式 13.6%去掉百分号,这个数就( ) 1;扩大10倍 2;扩大100倍 4;缩小100倍 若x的平方+x-2=0,则x的三次方+2x的平方-x+2007= 已知X的平方+2X-1=0,则2X的立方+5X的平方-2008=? 二分之根号二等于二的几次幂? 若x的平方+x-1=0,则x的立方+2x的平方+2008=? 所有偶数(0除外)的最大公因数是( ),所有奇数的最大公因数是( ). 2的a次幂等于根号2/2,求a 100块的东西,我要达到30%的利润,要卖多少钱,求公式,谢谢! 所有的偶数(0除外)最大的公因数是( ),所有奇数的最大公因数是( ). 若(1+根号2)的四次幂=a+b根号二,则a+b等于 百分之30去掉百分号后,原数就缩小100倍.这句话对吗? 所以非零的自然数的公因数是();所以偶数(0除外)的最大公因数是();所有奇数的最大公因数是().直接告诉每个方框的答案, 由 平行四边形 而推导出 圆的公式也就是说 剪拼成平行四边形 看到平行四边形而推出 圆面积和周长的公式{只推出面积或周长其中一个的话】我也给分 大哥大姐们快点 吧我要睡觉~ 服装店有一套衣服,第一件按原价出售,没人来买,第二天大八五折,仍没人来买;第三天再降价200元,终于售出.已知售出的价格恰好是原价的60%,问原价是多少? 一套衣服打八折出售,比原价少卖了120元,卖了多少元要有算式,不要二元一次方程 圆的周长公式是怎么推导出来的? 请问“一个数,如果只有1和它本身两个因数,这样的数叫质数”一句中的只有1和它本身两个因数是什么意思还有还有 “一个数,如果除了1和它本身还有别的因数,这样的数叫做合数.”除了1和它 一套衣服打八折出售后,比原价少卖了120元,求原价 两个奇数的和是偶数,积是奇数 这是判断题 把1.5%扩大100倍后是() 把85%的百分号去掉,结果() A不变 B 缩小到原来的100分之1 C 150一本书看了40%,表示()占()的40%一件毛衣中,羊毛占91.3%,羊绒8.7%,91.3%表示()占总含量的91 写一个奇数和偶数,使它们的最大公因数是1写出一个素数和合数,是它们的最大公因数是1写出两个偶数,是它们最大的公因数是其中较小的数写出两个偶数,是它们的最大公因数是其中较小的数 两个偶数的和或差一定是奇数.判断题、是对是错? 在38的后面添加百分号,结果()A不变 B扩大100倍 C缩小100倍 一件衣服打4折,现价160元.这件衣服降了多少元?求算式 列方程并求出解.一件衣服现价182元,降价X元,原价268元.列算式 数的整除小学六年级的竞赛题 一件衣服原价45元,现价36元,这件衣服打几折 x的平方-x-1=0 求 x的立方-2x的平方+3的值 在50%后面去掉百分号,这个数就()A扩大100倍 B缩小100倍 C大小不变 谁能给我六年级最难的应用题要很难很难的~ x的平方+x+1=0,求x的立方+2x的平方+3的值 把17.5%的百分号去掉,这个数就扩大到原来的100倍是对的吗 六年级较难应用题甲乙丙三人共有人民币168元,第一次甲拿出与乙相同的钱是给乙,第二次乙拿出与丙相同的钱是给丙,第三次丙拿出与甲相同的钱给甲,这样三人钱数相等,原来甲比乙多多少元? 已知x的平方+x+1=0,则x的立方+2x的平方+2x+3的值是 把15%的百分号去掉,这个数就扩大100倍这道题是对还是错.错的并说明理由. 若-(n+2)x的n次方y的平方z是一个5次单项式,则n=____,这个单项式 的系数是______. 把百分号去掉,是缩小了还是扩大了 把3.8%的百分号去掉,这个数比原数( )A扩大2倍 B扩大6倍 C扩大100倍 D大小不变怎么解 写出一个奇数和偶数使它们的最大公因数大于1 求服装制版基础计算公式我刚学的,想求原型板的如:袖窿深、肩宽、袖肥、上围(袖窿深)、背长(腰节)、领围…等等的公式. 15.5 %去掉百分号,这个数就是A扩大100倍B缩小100倍C扩10大倍 写出一个奇数和一个偶数,使它们的最大公因数是1,2和3对吗? 服装T恤单耗计算公式丝光棉面料的我想把 我计算单耗的方式向您请教下.175码的后中长为73厘米,胸围为55厘米,袖长(短袖)24厘米,1/2袖口17.5厘米,夹围(袖笼)为23.6.门幅为130,克重为155克/平 如果x的平方加x=1 求x的立方+2x平方+2006的值 一件衣服打八折这件衣服现价比原价便宜了168元,这件衣服实际买成多少元?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn