MatrixCursor 的用法如下:
- 首先创建一个字符数组,字符数组的值对应着表的字段:
val COLUMN_NAME = arrayOf(“_id”, “name”, “age”)
- 利用MatrixCursor的构造方法,构造一个MatrixCursor,传入的参数即是步骤1中创建的字段数组:
matrixCursor = MatrixCursor(COLUMN_NAME)
- 通过matrixCursor的addRow方法添加一行值,相当于向数据库中插入一条记录:
matrixCursor?.addRow(arrayOf(1, “hearing”, 24))
// 也可以通过构造一个MatrixCursor.RowBuilder来实现
matrixCursor?.newRow()?.add(2)?.add(“hhh”)?.add(22)
通过上面三步即可完成 MatrixCursor 的构造,从 MatrixCursor 中取出数据的过程与 Cursor 相同。
接下来通过一个实例来看看怎么具体地借助 ContentProvider 和 Binder 来进行便捷的跨进程通信。
Server进程
服务端接口定义
在服务端进程或者服务端 App 中,定义 AIDL 接口文件:
interface IMyAidlInterface {
int getCount();
}
make 之后实现接口:
class CountServiceImpl : IMyAidlInterface.Stub() {