030909_桌面显示组件:AppWidget Android安卓开发课件.ppt

030909_桌面显示组件:AppWidget Android安卓开发课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AppWidget的基本概念 在使用Android手机的时候,用户经常会将一些常使用到的软件拖放到桌面上以方便用户操作 android.appwidget包中定义的类 RemoteViews和AppWidgetHost的关系 RemoteView类的常用方法 AppWidgetProvider类提供的方法 范例:添加自己的AppWidget 范例:定义AppWidgetProvider程序 —— MyAppWidget.java 范例:定义桌面显示的AppWidget配置文件 —— res/xml/mldn_appwidget.xml 范例:定义AppWidget的布局管理器文件 —— res/layout/mldn_appwidget.xml 范例:修改AndroidManifest.xml文件增加注册的AppWidget组件 使用AppWidget跳转到Activity进行操作 由于现在桌面上的AppWidget属于远程视图,所以是不能像之前那样直接通过控件绑定事件操作,那么要想绑定事件处理程序可以使用RemoteViews类完成,而如果一个AppWidget操作触发后要跳转的Intent则要由PendingIntent指定。 AppWidgetManager的主要功能是用于更新桌面的AppWidget,实际上当用户在AppWidgetProvider程序之中为桌面的AppWidget绑定事件之后是需要对桌面的AppWidget组件进行更新的 AppWidgetManager类的常用方法 范例:定义AppWidget的布局管理器文件 —— res/layout/mldn_appwidget.xml 范例:定义AppWidgetProvider程序 —— MyAppWidget.java 范例:使用AppWidget进行广播 在AppWidgetProvider类中有一个onReceive()方法,此方法表示的是对广播操作进行处理,当AppWidgetProvider设置完事件处理之后也可以使用PendingIntent类对广播操作进行封装。 onReceive()执行流程: 范例:定义AppWidgetProvider类 —— MyAppWidget.java 范例:修改AndroidMainifest.xml文件,增加“intent-filter” E-MAIL:mldnqa@163.com ? MLDN 软件教学研发部 Android开发实战经典 第9章:Android组件通信 —— 桌面显示:AppWidget 李兴华 北京魔乐科技软件学院 本章目标 了解AppWidget的主要作用; 使用AppWidget进行程序的开发; 使用AppWidget进行广播处理。 用于更新相应的AppWidget AppWidgetManager 5 监听AppWidget的服务以及创建AppWIdgetHostView AppWidgetHost 4 创建AppWidget的View显示,此为真正的View,与之对应的还有一个RemoteView AppWidgetHostView 3 AppWidget组件的元数据提供者,例如:组件的大小、更新时间等 AppWidgetProviderInfo 2 定义了AppWidget的基本操作,需要通过子类进行设置 AppWidgetProvider 1 描述 类名称 No. 设置要操作的ProgressBar组件 普通 public void setProgressBar(int viewId, int max, int progress, boolean indeterminate) 5 设置单击事件触发之后要操作的PendingIntent对象 普通 public void setOnClickPendingIntent(int viewId, PendingIntent pendingIntent) 4 设置指定的内容,例如:setBoolean()、setImageViewResource()、setTextViewText()等 普通 public void setXxx(int viewId, String methodName, Xxx value) 3 为RemoteViews增加一个组件 普通 public void addView(int viewId, RemoteViews nestedView) 2 创建新的RemoteViews组件,并指定所需要的布局管理器文件 构造 public RemoteViews(String packageName, int layoutId) 1 描述 类型 方法 No.

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档