6.4 利用组件共享数据
使用应用环境对象存储全局数据,无法在不同进程的组件对象间传递数据。而跨进程、跨应用正是Android的组件所擅长的。在Android中,一些类别的组件可以方便地进行定位和数据传输,因此,也可以把它们作为数据“加工中转站”,为其他组件对象间共享数据服务。
6.4.1 利用数据源组件共享数据
数据源组件的设计目标,是为各个应用的组件对象提供数据服务。它将应用的私有数据封装起来,提供给第三方应用组件使用。
在数据提供方面,可以将数据源组件视为基于文件进行数据共享的“进阶方式”,比之一般的文件封装它有三个好处。
❑更安全地共享数据
通过文件在不同应用的组件中分享数据,需要将数据写入到扩展的外存储设备中,其可靠性较低。而通过数据源组件,可以将应用的私有数据封装起来,提供给第三方应用组件,提高了数据服务的可靠性。
❑开发更为便捷
Android为数据源组件提供了很多支持,从对异步操作的支持,到与控件对象的绑定,使得对基于数据源组件的数据进行读写和展示都变得十分简单。
第3章介绍了如何异步读写数据源组件中的数据,可以看到,通过Android提供的对象支持,异步读写的实现难度与同步读写无异。
❑更适合处理关系型数据
Android为数据源组件设计的基于REST+SQL的概念,使得数据源组件更适合关系型数据的增删改查等操作。
整体上看,数据源组件适合在不同的组件对象间共享关系型和结构化的数据。但由于组件连接和传输方式比较复杂,因此,不适合音视频等大数据文件的处理。关于数据源组件的实现和开发,可以参考本书第3章的相关内容。