Android开发艺术探索 第五章

Android开发艺术探索 第五章

理解RemoteViews

远程界面,其实开发过原生界面应该会接触比较多,就是通知栏和桌面上的小部件,下面简单介绍一下。

5.1 RemoteViews的应用

5.1.1 通知栏上的应用

RemoteViews在通知栏上有默认和自定义两种方式,具体实现不在做笔记,建议使用到的时候网上搜索最新版本的代码,需要留意的是无法直接设置界面的参数,需要通过对应的API去更新控件,包括点击事件也是使用PendingIntent.

5.1.2 桌面小部件上的应用

AppWidgetProvider是提供用于实现桌面小部件的类,本质上就是一个广播,然后刷新界面。

实现步骤:

1.实现布局XML文件

2.定义小部件配置信息

3.定义小部件实现类,继承AppWidgetProvider。

可以稍微留意一下相关的方法,包括更新,销毁这些。具体流程可以参考源码当中的流程

onEnable 首次添加到桌面

onUpdate 小部件更新的时候

onDeleted 每次删除的时候

onDIsabled 最后一个被删除的时候

onReceive 广播内置方法,用于分发事件

5.1.3 PendingIntent概述

主要表示一个等待发生的意图,表示将来可以执行的事件。

支持三种待定意图,启动活动、服务和发送广播。

每个参数建议使用的时候查看最新API解释,这里也不再做笔记,需要留意每个参数的匹配。

5.2 RemoteViews的内部机制

RemoteViews的作用就是在其他进程中显示并更新界面。

首先看一下构造方法,需要两个参数,包名和布局文件,需要留意不能支持所有的View类型,具体可以留意最新API说明。比如输入框就不支持,会导致抛出异常。

留意一下本身提供的大部分设置界面的方法都需要通过调用对象的set相关设置,实际是通过反射实现的。小部件主要有系统实现,管理类会通过Binder分别和系统管理的通知服务和小部件服务进行同学,主要设计思想是轻量级的跨进程更新小部件,具体可以参考源码流程。

RemoteViews的实现流程也很有趣,它会保留所有的设置到集合里面,等匹配到控件在尽显每一条动作,所以它其实没有直接改变界面的方法也是可以理解的。

那么它的更新是通过apply和reapply方法来加载或者更新界面的,看源码实现基本都是通过反射获取到界面控件在进行改变,具体可以参考源码。

5.3 RemoteViews的意义

其实理论上我们通过广播也可以建立这样的两个APP去实现类似的功能,不过系统提供RemoteViews这样的控件就是更加方便我们去使用它,在通知类或者桌面小部件这种轻量级的界面刷新数据,很是方便,包括以前经常做音乐的小部件去控制音乐,其实是非常方便用户的。

这里作者也说明了一下自己实现,包括AIDL的一些优缺点,实际上只有最适合的方式,没有最好的答案,对于不同的场景使用合适的方式就可以了。

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 《Android开发艺术探索》是一本深入探讨Android开发核心技术的著作,由杨扬先生所著。这本书涵盖了该领域的多个方面,从Android系统背后的设计原理,到性能优化和内存管理等实际应用中的技术,都得到了详细讲解。 这本书一共分为14个章节,每个章节都介绍了一项重要的开发技术或原则。例如,书中深入讨论了Activity和Fragment的生命周期管理,以及它们之间的通信机制。此外,还介绍了多线程编程的最佳实践和Android应用的性能优化技巧。 与其他Android开发类书籍相比,这本书强调了实践性。它提供了大量的示例代码和具体的案例分析,帮助读者理解和应用所学知识。此外,该书还涉及了Android最新的开发框架和技术,如Jetpack和Kotlin语言。 《Android开发艺术探索》被广大开发者普遍认为是一本非常实用和有价值的Android开发指南。无论是初学者还是有经验的开发者,都能从中受益。这本书不仅是一本教程,更是一本帮助开发者深入理解Android设计和实现原理的指南。 总结而言,如果你是一名Android开发者,想要提升自己的技术水平并深入了解Android系统的背后运作原理,那么《Android开发艺术探索》是你值得阅读的一本著作。 ### 回答2: 《Android开发艺术探索》是一本著名的Android开发书籍,全称为《Android开发艺术探索:揭秘Android系统设计的奥秘》。该书由杨辉同学编著,由电子工业出版社出版。这本书讲述了Android开发的一些高级技术和实践经验,供开发者更深入地了解Android系统设计。 这本书对于Android开发者来说非常有价值。它不仅介绍了一些基础的Android知识,还深入探讨了一些高级的主题,例如Android系统的启动流程、内存优化、性能优化等。读者可以通过学习这些内容,提高自己的Android开发水平,写出更高效和稳定的应用程序。 《Android开发艺术探索》的特点在于它不仅仅是一本理论性的书籍,更注重实践性和指导性。书中提供了许多实际的案例和代码,让读者能够通过实际操作来理解和掌握书中的知识。同时,它还介绍了一些常见的错误和陷阱,帮助读者避免一些常见的开发问题。 总的来说,《Android开发艺术探索》是一本非常实用和有深度的Android开发书籍。读者通过阅读和实践可以提升自己的开发水平,了解和掌握Android系统设计的奥秘。无论是初学者还是有一定经验的开发者,都能够从这本书中收获很多。 ### 回答3: 《Android开发艺术探索》是一本非常经典的关于Android开发的书籍。该书由任玉刚著写,主要介绍了Android开发的一些技术和艺术探索。 《Android开发艺术探索》的目的是帮助开发者更好地理解Android系统和开发过程中的一些关键概念。书中详细讲解了Android系统的架构和原理,包括Activity、Service、Broadcast Receiver、Content Provider等组件的工作原理和使用方法。 该书还讨论了Android开发中的一些常见问题和难点。例如,性能优化、内存管理、UI优化等。书中提供了很多实际的案例和示例代码,帮助读者更好地理解和应用这些知识。 除了技术方面的内容,该书还着重强调了Android开发中的设计思路和艺术探索。作者通过讲解一些实际的应用案例,引导读者如何设计出更好的用户体验和界面设计。 总之,《Android开发艺术探索》是一本非常有价值的Android开发书籍。无论是初学者还是有一定经验的开发者,都可以从中获得很多有用的知识和经验。无论是对于技术的掌握还是对于开发思路的提升,该书都是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时代我西

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值