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

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中改变显示器的分辨率 在VB中获取和修改计算机名字 在vb中没有指针,怎样才能将数组作为参数。 在VB中如何调用C++Builder创建的DLL 在VB中设置常用的外部设备 在VB中使用枚举变量 在Visual Basic 中使用C++ 类 在WindowsNT网络中广播消息 -VB资料 在可编辑控件中创建一个新的上下文菜单 -VB资料 在软件中设定热键-VB资料 在注册表中添加自己的文件类型-VB资料 在桌面上建立 Internet 快捷键 -VB资料 在桌面上添加程序的快捷方式 -VB资料 VB怎样得到当前的屏幕分辨率? VB怎样关闭Windows VB怎样关闭一个程序 VB怎样使我的程序总处于屏幕最前方?(Always on top) VB怎样延迟一个VB程序? VB怎样在VB中控制WORD VB怎样找到鼠标指针的XY坐标? 增加快捷方式到启动组-VB资料 直接呼叫RUNDLL来关机-VB资料 VB制作VB安装程序问答(二) VB制作VB安装程序问答(一) VB制作帮助文件速成 重新验证 Win 95 用户口令 -VB资料 桌面的大小 -VB资料 字体改变事件 -VB资料 自定义组合热键 -VB资料 自动更换墙纸的小软件-VB资料 自动记录应用软件工作时间 -VB资料 调查:大家作何打扮? 關于Exchange Server的管理!!! 软件发布:华容道 如何用PHP在页面里调用word编辑器,使之能在网页上编辑WORD文档? sql server 数据库ccyy,restore时总出错? DELPHI文本操作得一個小問題,請各位指教!!!! 关于鼠标左键单击与按住不放的区别? 高分求问,数据源的问题! 建议增加我的收藏夹功能 求教包容器问题 一个三层数据库的问题: VB爱好者们,帮小弟个忙!!!谢谢 怎么样动态建立一个新的ADOTable?? 十万火急,关于Unix平台下C编程(FTP传输方面) 我的英文还凑合,那么我应该选择4 中文版,还是 5英文版?(众所周知,5中文版翻译太差) 求开发 ActiveX Libary 的详细步骤! Com Object 与 Automation Object 区别,如何用? 用VB如何处理多个用户同时操作一个DBF文件的错误? 一个进程为VC2.0, 另一个为VC6编的MFC程序。如何控制从第2个控制第一个进程? 请assdeng(山野村夫)看看 pb,delphi,vb三种快速成型的语言都分别适合开发那些软件?欢迎大家来讨论 请问各位同仁如何设置sybase anywhere服务器参数? 串口通讯能否用pb做成动态连接库的形式?(急) 怎样使Response.redirect打开一个新窗口 为什么环境变量替换不正确? 怎么打开foxpro中,通过剪切板考过去的图片,dbimage和image控件都不能打开,显示“bitmap is not valid” vaj中如何使用自己的JAR? 怎样改变当前窗口的大小,是当前窗口最大化? 高手争峰 如何把一个log文件读到数据结构中去 请教一个很菜的问题:) 这个程序有什么问题? 怎样做???? 简单问题,可就是搞不定!! 请问jsp中servelet在win2000中的设置方法,需要下载什么类库文件么? 一个新问题,那就是点击工具栏的退出按钮以后只退出当前打开的窗口,而不是整个应用! 如何在 index.htm 中引用 count.asp ? 远程数据库访问的问题--亟待高手们解答 王国荣的电子信箱是哪里? 我的程序生活 先给50分,稍后在加:我正在做一个系统,需要做到每次开机时提醒用户有哪些事情要做! [Tips]获取Memo&Richedit中光标坐标的最简单方法! 急急,如何才能把图片的底色与窗口的底色自然地融为一体? 如何改变按钮的颜色? 在mtml help workshop 中如何制作带上下文关联ID的帮助 调试程序时,控制台程序与直接建立的C++程序有区别吗? 给菜鸟推荐本书 VB调用外部DLL问题 【洗心革面,重新做人,割发断指,庄严声明】 从今以后 kook 不近女色,不灌疯水,以 panda_w 为榜样,苦练VC,研习汇编,做一个 CSDN 的正面典型! 谁有ULTRAEDIT 的注册码 能否推荐几本关于VB提高和关于VB数据库的书 紧急问题,关于SSL通过MS PROXY 某校26名老师带领600名学生到公园游玩.游园票价格如下表,你会设计购票方案吗?成人16元儿童8元团体10元1 实验小学四3班的48名同学去游乐园春游,中午在餐厅订盒饭.餐厅规定:每买5份就能赠送1份.请你帮他们设计一个最经济的购买方案. 要用一元一次方程解 急就!在五一期间,小明,小亮等同学随家长一同到某公园游玩.其中票价是:成人每张35元,学生按成人五折优惠:团体票16人以上(含16人)按成人票六折优惠.小明爸爸说: 王老师带领6名学生去公园游玩.成人票价每张30元,儿童可享受半价优惠.带150元够不够买票? 晨光小学六一班有36人到附近公园游玩,售票门口写着:“门票每人8元,40人以上可降价1/5.怎样买票花费最 在五一期间,小明,小亮等同学随家长一同到某公园游玩.其中票价是:成人每张40元,学在五一期间,小明,小亮等同学随家长一同到某公园游玩.其中票价是:成人每张40元,学生按成人五折优惠:团 3位老师带42位小学生去公园游玩 他们最少要交多少钱门票钱 成人9.5元 学生5.5元 团体6.5元[10人以上]急 帮忙 48名同学去游乐园春游,中午在餐厅订盒饭,餐厅规定每买5份赠送一份,设计最经济购买方案 在“五一”期间,小明、小亮等同学随家长一同到某公园游玩,下面是购买门票时话爸爸:大人门票是每张35元,学生门票是五折优惠,我们一共12人,共用350元.小明:爸爸,等一下让我算一算,换一 4位老师带110名学生到公园游玩,门票共付472元.学生票价是多少元?游客须知:学生票价是成人票的一半. 实验小学四(3)班的48名同学去游乐园春游,中午在餐厅订盒饭.餐厅规定:每买5份就能送一份.请你帮他们设计一个最经济的购买方案.不要方程算式(☆_☆) 在五一期间,小明、小亮等同学随家长一同向某公园游玩,下面是购买门票时,小明与他爸爸的对话票价; 成人每张40元.学生;按成人票5折优惠..团体;【16人以上,含16人】按成人票6折优惠.爸 7位老师带领46名学生到公园游玩,怎样够票最合算 ,共需要多钱?学生15,成人30元,团体18元,(30人以上)急, 48名同学去春游,中午定盒饭,餐厅规定:没买5份就能赠送1份,怎样购买 星期天爸爸妈妈带小明去游公园,买一张门票一共用去17.5元一张,一张成人票与三个儿童票的价钱相等,一张成人票多少元? 5位老师带48名同学去参观动物园怎样买最合算,成人票十元学生票五元,集体票,十人以上六元 关于海底世界的作文 400字 星期天爸爸妈妈带小明去游公园,买门票一共用去17.5元,一张成人票与三张儿童票的价钱相等,一张成人票多少元? 学校组织六年级200名师生去参观动物园,共付门票1085元.已知每张成人票是10元,每张学生票是5元.去动物园参观的老师和学生各有多少人? 快 急 要的过程详细点 关于海底世界的作文(100字) 爸爸妈妈带小红游公园,公园门票公用去10.5元,已知一张大人与三张小孩的票价相等 小梅和奶奶去动物园玩.买门票时奶奶付了50元钱,找回了8元.已知学生价是成人票价的一半,学生票和成人票的票价各是多少元? 关于海底世界的作文(100个字) 六一时,爸爸妈妈带带小明逛公园,买门票共用去10.5元,已知一张大人票价与三张小孩子票价钱数相等.一张大人票多少元? 三年级3名老师,带50名学生去植物园,门票【成人10元,儿童5元,团体票10人以上6元】怎样买票合算 作文写海底世界的300字!急 列方程:四张门票共花了11元.成人门票每张4元.儿童门票每张多少元?(两个大人,两个儿童) 六(一)班同学36人去动物园游玩,门口的购票须知如下:1.游客凭票进入大门;2.成人票每张20元,学生票每张10元;3.10张票可享受团体优惠1/8;4.40张票可享受团体优惠1/5.请你帮忙算一算,六( 求一篇以游海底世界的作文 小明一家去动物园买门票共花了21元成人票6元儿童票3元小明家可能去几个大人和小孩 “六一”节,动物园儿童门票比原来优惠20%,优惠后动物园儿童门票每张20元,原来动物园儿童门票的价格是每张多少元? 请问北京海洋馆,富国海底世界,太平洋海底世界哪个更好玩呀?顺便说下地址和里面玩的项目~ 爸爸妈妈带小玲和同学去公园,买门票一共需要多少钱成人;每张5元儿童每张2.5元?爸爸妈妈带小玲和同学去公园,买门票一共需要多少钱成人;每张5元儿童每张2.5元 动物园门票每位大人20元,动物园门票大人20元,小孩10元.六一儿童节那天,儿童免票,结果与前一天相比,大人增加到原来的1.6倍,儿童增加到原来的1.9倍,共增加了2100人,但门票收入与前一天相同, 北京海洋馆 太平洋海底世界哪个好玩些?麻烦说一下这两个里面都有什么玩的~大概能玩多久~我和男朋友去哪个比较好呢? 小芳和爸爸妈妈去公园玩,门票用去22.5元,一张儿童票价是成人票价的一半,一张成人票价是多少钱要算式 请问重庆动物园和永川动物园哪个好玩些,现在去的话成人与儿童的票价分别是多少?自驾游 我打算和女朋友去北京玩 请问北京动物园海洋馆 富国海底世界 太平洋海底世界这3个地方哪比较好玩 20个大人和4个孩子去买票,怎么买最合算(成人20儿童10团体10人以上12)价格表成人:20元儿童:10元团体:(10人或10人以上)12元 星期天,爸爸妈妈带着小丽去公园玩,买门票共用去了37.5元.已知一张成人票与两张儿童票的价格相等,一张成人票多少钱 北京动物园\海洋馆\富国海底世界\太平洋海底世界哪个好玩点?最好的是去过的介绍下还有哪个里面有表演啊?大概几点? 五一,2个成人带小明去公园,买票用10.5元知一张大人票价和三张小孩票价相等,一张大人,小孩票各多少?用去、10.5 爸爸妈妈星期日带小东去游公园,买门票共用去3.5元,已知一张大人票的价钱与3张小孩爸爸妈妈带小明游公园,买门票用去3.5元,已知一张大人票价与三张小孩票价相等.一张大人票()元. 六(3)班36名同学去景湖公园游玩,公园的具体收费情况如下:儿童票每张8元,四十张开始可以享受团体票价,团体票价按五分之一优惠.算一算,怎样购买门票最合算,可以少付多少元? 某公园的成人票是20元,儿童票价是8元,甲旅行团成人和儿童共有20名;乙旅行团的成人数是甲的旅行团的2倍而儿童人数则是甲旅行团的一半,已知两个旅行团共花费了816元购买门票,你能求出甲 爸爸妈妈带小玉去公园玩,他们买门票一共用去27.5元.已知一张成人票与两张儿童票票价相等,一张成人票多少 某公园的票价是:每人10元;一次购票满30张,每张可少收2元.某班有26名同学去公园游玩,当班长准备好钱到钱到售票处买26张票时,爱动脑筋的数学课代表喊住班长,他提议买30张票,但有的同学 某公园的成人票价是20元,儿童票价是8元甲旅行团有x名成人和y名儿童,乙旅行的成人成人数是旅行团的2倍,儿童是甲旅行团的2分之一,求两个旅行团门票费用的总数? 北京故宫博物馆的门票是每位60元,20人以上(含20人)的团体票8折优惠,现有18位游客买20人的团体票,问:比买普通票总共便宜多少钱?此外,不足20人时,多少人买20的团体票才比普通票便宜? 爸爸妈妈带4个孩子一起是动物园~他们带了50块钱~大人票是6块 孩子票是9块 问一共要付多少钱 请写出简单的算式请用?来算 某校初一年级[1]班组织学生去公园游玩,该班有50名同学组织了划船活动.[1]他们一共租了10条船,并且每条船都坐满了人,那么大、小船各租了多少只[2]他们租船一共花了多少元钱 某博物馆门票每位10元,20 人以上地(含20 人)团体票8折优惠,先有18名学生按20人购买团体票 高分悬赏~!比买普通票便宜多少元钱?当参观的学生人数不足20人时,至少应有多少人才可买20人的团体 爸爸妈妈带小明去逛公园买门票公用十七点五元,已知一张成人票与三张儿童票的价格相同,一张成人票要多少钱? 春节期间,七(1)班的明明、丽丽等同学随家长一同到某公园游玩票价:成人每张35元学生按成人票5折优惠团体票(16人以上或16人):俺成人票的6折优惠)爸爸:大人们票每张35元,学生门票是5 18名同学到动物园去观赏动物,在动物园的售票处写着:学生票每人2元,20人以上的团体票按八折优惠.请问他们该如何买票?(写出所有方案并选出你认为合理的方案)但他共18人能买团体票吗? 小华和爸爸妈妈到公园游玩、买门票共用去17.5元,已知成人票是儿童票的2倍,一张成人票的价格是多少元? 春节期间,六(1)班的明明、丽丽等同学随家长一同到某公园游玩,下面是购买门票时,明明与他爸爸的对话(如图),是根据图中的信息,(1)明明他们一共去了几个成人,几个学生?(2)请你帮助 某学校15名教师带领215名学生参观动物园,售票窗口告示如下:成人票每张20元,学生票每张10元,团体票(满20人)每张15元.请你设计一套买票方案(既符合规定,又花钱较少),并计算你的方案需 东胜小学六(1)班和六(2)班租车去旅游,共花450元.已知六(1)班有40人,六(2 在五一期间,小明,小亮等同学随家长一同到某公园游玩,下面是购买门票时,小明与他爸爸的对话,爸爸;大人门票每张35元,学生问票是5折优惠.我们一共12人,共需350元.小明:爸爸,让我算一算,换
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn