内容提供程序有助于管理应用其自身和其他应用所存储数据的访问,并提供与其他应用共享数据的方法。
2.说说如何创建自己应用的内容提供者 & 使用场景。
我们一般用内容提供者都是用来查询数据的:
Cursor cursor = getContentResolver().query(final Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder, CancellationSignal cancellationSignal)
uri,指定查询某一个程序下的某一张表
projection,指定查询的列名
selection,指定查询条件,相当于sql语句中where后面的条件
selectionArgs,给selection中的占位符提供具体的值
orderBy,指定查询结果排序方式
cancellationSignal,取消正在进行操作的信号量
3.说说ContentProvider的原理
Binder + 存储(SQLite或其他存储)
4.ContentProvider,ContentResolver,ContentObserver之间的关系?
5.说说ContentProvider的权限管理。
android:grantUriPermssions:临时许可标志。
android:permission:Provider读写权限。
android:readPermission:Provider的读权限。
android:writePermission:Provider的写权限。
android:enabled:标记允许系统启动Provider。
android:exported:标记允许其他应用程序使用这个Provider。
android:multiProcess:标记允许系统启动Provider相同的进程中调用客户端。