前言
What is the key,when we learn something?先来拽一句英语,也就是说当我们学习一个技术点的时候,我们应该学习的是什么?我认为最应该学习的是它背后的思想以及逻辑。接下来我们就从概念上,或者说从更高的角度来看ContentProvider,它究竟是个什么鬼,体现了什么思想,有什么可以借鉴的。
ContentProvider的作用
Content providers can help an application manage access to data stored by itself, stored by other apps, and provide a way to share data with other apps. They encapsulate the data, and provide mechanisms for defining data security.
译文:ContentProvider
能帮助App管理自身及其他App数据的存取,它提供了一种与其他App共享数据的方式。他们将这些数据进行了封装,并提供了一种数据安全机制。
以上是谷歌文档对ContentProvider
的定义,它在开篇第一段便开门见山的陈述了ContentProvider
到底是什么。它的作用是为了实现App之间的数据共享。再有就是它对于数据的共享提供了一种安全机制,为什么说是一种安全的机制,通过下图我认为已经可以理解了,Other applications即其他程序想要访问我们的App数据时,它们是不能直接访问我们的数据文件的,因为直接访问数据文件的权限简直是太大了,而且不可控,你可能会想到文件不都有自己的权限机制吗?