开发艺术探索--理解RemoteViews
来源:互联网 发布:javascript 循环数组 编辑:程序博客网 时间:2024/06/06 02:00
<<艺术探索读书笔记>>
第五章,理解RemoteViews
RemoteViews的应用
RemoteViews的内部机制
RemoteViews的意义
应用
RemoteViews
字面意思是一个远程View
,可以在其他进程中显示.使用场景是 通知栏和桌面小部件
.
- 通过
应用的包名和布局文件的资源id
即可创建RemoteViews
对象, - 通知栏通过
NotificationManager.notify
实现,小部件通过APPWidgetProvider
(广播)实现. RemoteViews
运行在系统的SystemServer
进程,需要通过RemoteViews
提供的一系列方法来更新View.PendingIntent
表示一种待触发意图.- 桌面小部件需要在清单文件中配置
APPWIDGET_UPDATE
. onReceive
会根据Action
来分发广播/PendingIntent
是一种待定意图,包含三种类型:Activity,Service,BroadCast
相关参考:PendingIntent
内部机制
RemoteViews
只支持一些常见的View
,不支持自定义View
,否则会抛出异常.RemoteViews
提供的一系列set方法都是通过反射
来调用的- 通知栏和桌面小部件的布局文件是通过
NotificationManagerService
和APPWidgetService
中被加载的,通过Binder
进行通信. - 系统会将对
View的操作
封装到Action(实现了Parcelable接口)
中,每调用一次set就会添加一个对应的Action
, - 通过
notify
或者updateAppWidget
才更新界面,调用RemoteViews
的apply
或reApply
方法来更新View apply
: 加载布局并更新界面,reApply
之更新界面.(方法内部反射调用更新方法)- 除了
ReflectiinAction
外,还有其他Action
,如TextViewSizeAction
setOnClickPendingIntent
只能给普通View设置click事件,对ListView
和StackView
中的item设置click事件则必须将setPendingIntentTemplate
和setOnClickFillInIntent
组合使用.
RemoteViews意义
- 实际场景: 一个应用更新另一个应用中的某个界面
- 通过
资源id
可能是无效的,只能约定好资源名称
, Android之通过资源名称获取资源Id
0 0
- 开发艺术探索--理解RemoteViews
- Android开发艺术探索 第5章 理解RemoteViews 读书笔记
- Android 开发艺术探索笔记 第五章 理解RemoteViews
- 理解RemoteViews(Android开发艺术探索读书笔记)
- Android开发艺术探索第五章——理解RemoteViews
- 第五章理解RemoteViews(Android开发艺术探索)
- Android开发艺术探索_理解RemoteViews(五)
- 《Android开发艺术探索》读书笔记 (5) 第5章 理解RemoteViews
- 《Android开发艺术探索》之学习笔记(五)理解RemoteViews
- android艺术开发探索之RemoteViews跨进程更新UI
- Android RemoteViews(Android开发艺术随笔)
- RemoteViews探索
- 《Andoird开发艺术探索第五章笔记》-理解RemoteView
- 理解Window和WindowManager(Android开发艺术探索读书笔记)
- Android开发艺术探索读书笔记-理解Window和WindowManager
- Android开发艺术探索
- 开发艺术探索-- Drawable
- 理解RemoteViews
- Android处理运行时变更保存数据状态恢复Activity
- 约瑟夫环问题:圆桌报数问题
- Angular2入门系列教程-服务
- 每天一个Linux命令(3):pwd命令
- Django在apache中的配置
- 开发艺术探索--理解RemoteViews
- Maven入门指南⑤:使用Nexus搭建Maven私服
- JavaScript 代码优化指南
- Jquery—遍历元素
- 基于python的商品购买能力预测系统
- MUI添加下拉刷新的动画效果
- Jacobian, Hessian
- matlab基础教程
- memset memcpy strcpy 的区别和联系