ContentProvider
ContentProvider 为存储和获取数据提供统一的接口,可以在不同应用程序之间共享数据。
ContentProvider 主要有以下优点:
进程间 进行数据交互 & 共享,即跨进程通信。ContentProvider 底层是采用 Android 中的 Binder 机制。
单条记录:
多条记录:
Android为常见的数据(如通讯录、日程表等)提供了内置默认的 ContentProvider
但也可根据需求自定义 ContentProvide ,但是必须重写它的 insert / delete / update / query / onCreate / getType 等6个方法。
组织数据方式
注意:
外部进程通过 ContentResolver类与 ContentProvider 进行交互,ContentResolver 类对所有的 ContentProvider 进行统一管理。
ContentProvider 核心机制之一也是 Binder,当数据量比较大的时候,继续用Parcel 做容器效率会比较低,因此它还使用了匿名共享内存的方式。
ContentProvider 发布者和调用者这两在 Framework 层是如何实现的。
2024-10-28 广告