2022年android小插件 .pdf
《2022年android小插件 .pdf》由会员分享,可在线阅读,更多相关《2022年android小插件 .pdf(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Android 桌面小插件的开发详解博客分类:AndroidAndroid 活动应用服务器XML 音乐关键字:应用小插件小部件 小工具应用程序窗口小部件App Widgets 应用程序窗口小部件(Widget)是微小的应用程序视图,可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。你可以通过一个App Widget provider来发布一个 Widget。可以容纳其它 App Widget 的应用程序组件被称为App Widget宿主。下面的截屏显示了一个音乐App Widget。appwidget 这篇文章描述了如何使用App Widget Provider发布一个 App Wid
2、get。基础知识 The Basics 为了创建一个 App Widget,你需要下面这些:AppWidgetProviderInfo 对象描述一个 App Widget 元数据,比如 App Widget 的布局,更新频率,以及AppWidgetProvider 类。这应该在 XML里定义。AppWidgetProvider 类的实现定义基本方法以允许你编程来和App Widget 连接,这基于广播事件。通过它,当这个 App Widget 被更新,启用,禁用和删除的时候,你都将接收到广播通知。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 11 页 -视图布局为这个 App
3、Widget 定义初始布局,在XML中。另外,你可以实现一个App Widget 配置活动。这是一个可选的活动Activity,当用户添加 App Widget 时加载并允许他在创建时来修改App Widget 的设置。下面的章节描述了如何建立这些组件:在清单中声明一个应用小部件首先,在应用程序AndroidManifest.xml文件中声明 AppWidgetProvider 类,比如:Xml代码1.2.3.4.5.6.7.8.9.meta-dataandroid:name=android.appwidget.provider10.11.android:resource=xml/exampl
4、e_appwidget_info /12.13.元素需要 android:name 属性,它指定了 App Widget 使用的AppWidgetProvider。元素必须包括一个含有android:name 属性的 元素。该元素指定 AppWidgetProvider接受 ACTION_APPWIDGET_UPDATE 广播。这是唯一你必须显式声明的广播。当需要的时候,AppWidgetManager 会自动发送所有其他 App Widget 广播给 AppWidgetProvider。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 11 页 -元素指定了 AppWidgetP
5、roviderInfo 资源并需要以下属性:android:name 指定元数据名称。android:resource 指定 AppWidgetProviderInfo 资源路径。增加 AppWidgetProviderInfo元数据AppWidgetProviderInfo定义一个 App Widget 的基本特性,比如最小布局尺寸,初始布局资源,刷新频率,以及(可选的)创建时加载的一个配置活动。使用单独的一个 元素在 XML 资源里定义 AppWidgetProviderInfo 对象并保存到项目的res/xml/目录下。比如:Xml代码1.appwidget-providerxmlns:
6、android=http:/ 4.5.android:minHeight=72dp6.7.android:updatePeriodMillis=86400000 8.9.android:initialLayout=layout/example_appwidget10.11.android:configure=com.example.android.ExampleAppWidgetConfigure12.13.下面是 属性的总结:minWidth 和 minHeight 属性的值指定了这个App Widget 布局需要的最小区域。缺省的 App Widgets 所在窗口的桌面位置基于有确切高度和
7、宽度的单元网格。如名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 11 页 -果 App Widget 的最小长宽和这些网格单元的尺寸不匹配,那么这个App Widget将收缩到最接近的单元尺寸。(参见App Widget Design Guidelines 以获取更多关于桌面单元尺寸的信息)因为桌面布局方向(由此,单元的尺寸)可以变化,按照拇指规则,你应该假设最坏情况单元尺寸是74 像素高和宽。不过,你必须从最后的尺寸中减去2 以把像素计算过程中产生的任何的整数舍入误差考虑在内。要找到像素密度无关的最小宽度和高度,使用这个公式:(number of cells*74)-2 遵循
8、这个公式,你应该使用72dp 为每一个单元高度,294dp为四个单元宽度。updatePerdiodMillis 属性定义了 App Widget 框架调用 onUpdate()方法来从 AppWidgetProvider 请求一次更新的频度。实际更新时间并不那么精确,而且我们建议更新频率越低越好-也许每小时不超过一次以节省电源。你也许还会允许用户在配置中调整这个频率-一些人可能想每 15 分钟一次股票报价,或者一天只要四次。initialLayout属性指向定义 App Widget 布局的资源。configure属性定义了 Activity,当用户添加 App Widget 时启动,以为他
9、或她配置 App Widget 特性。这是可选的(阅读下面的Creating an App Widget Configuration Activity)。参见 AppWidgetProviderInfo 类以获取更多可以被 元素接受的属性信息。创建 App Widget 布局你必须在 XML中为你的 App Widget 定义一个初始布局并保存到项目的res/layout/目录下。你可以使用如下所列的视图对象来设计你的App Widget,但是在此之前,请先阅读并理解App Widget Design Guidelines.如果你熟悉在 XML中声明布局,那么创建这个App Widget 布局
10、是很简单的。但是,你必须意识到那个App Widget 布局是基于 RemoteViews,这并不支持所有类型的布局或视图小部件。一个 RemoteViews对象(以及,相应的,一个App Widget)可以支持下面这个布局类:FrameLayout LinearLayout RelativeLayout 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 11 页 -以及下面的小部件类:AnalogClock Button Chronometer ImageButton ImageView ProgressBar TextView 不支持这些类的派生。使用 AppWidgetPro
11、vider类你必须通过在清单文件中使用 元素来声明你的 AppWidgetProvider 类实现为一个广播接收器(参见上面的Declaring an App Widget in the Manifest)。AppWidgetProvider 类扩展 BroadcastReceiver 为一个简便类来处理App Widget 广播。AppWidgetProvider只接收和这个 App Widget 相关的事件广播,比如这个 App Widget 被更新,删除,启用,以及禁用。当这些广播事件发生时,AppWidgetProvider 将接收到下面的方法调用:onUpdate(Context,A
12、ppWidgetManager,int)这个方法调用来间隔性的更新App Widget,间隔时间用 AppWidgetProviderInfo 里的 updatePeriodMillis属性定义(参见添加 AppWidgetProviderInfo元数据)。这个方法也会在用户添加App Widget 时被调用,因此它应该执行基础的设置,比如为视图定义事件处理器并启动一个临时的服务Service,如果需要的话。但是,如果你已经声明了一个配置活动,这个方法在用户添加App Widget 时将不会被调用,而只在后续更新时被调用。配置活动应该在配置完成时负责执行第一次更新。(参见下面的创建一个App
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年android小插件 2022 android 插件
限制150内