本章会介绍RemoteViews在通知栏和桌面小部件上的应用,分析RemoveViews的内部机制,最后分析RemoteViews的意义并给出一个采用RemoteViews来跨进程更新界面的示例。
什么是RemoteViews?
RemoteViews是用来描述一个视图的,它描述的这个视图将显示在另外一个进程中(这也就符合了RemoteViews中Remote这层含义)。
RemoteViews与View没有半毛钱的关系,它仅仅就是Object的一个子类,实现了Parcelable接口(这就为RemoteViews能够实现跨进程提供了条件)。所以从严格意义上来说,RemoteViews并不是一个控件,它仅仅是为生成控件和修改控件属性提供一系列的方法。
总结:RemoteViews就是为跨进程生成控件和修改控件属性提供一系列方法的一个类。
1 RemoteViews的应用
RemoteViews主要用于通知栏和桌面小部件的开发。通知栏主要通过NotificationManager的notify方法来实现;桌面小部件则是通过AppWidgetProvider