内容提供者(ContentProvider)是Android系统四大组件之一,它是不同应用程序之间进行数据共享的标准API,通过ContentResolver类可以访问ContentProvider中共享的数据。
通过ContentProvider查询其他程序数据的具体步骤如下:
1. 通过parse()方法解析Uri
Uri uri = Uri.parse("content://cn.itcast.mycontentprovider/person");
2. 通过query()方法查询数据
//获取ContentResolver对象
ContentResolver resolver = context.getContentResolver();
Cursor cursor = resolver.query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder);
3. 通过while()循环语句遍历查询到的数据
while (cursor.moveToNext()) {
String address = cursor.getString(0);
long date = cursor.getLong(1);
int type = cursor.getInt(2);
}
cursor.close(); //关闭cursor
内容观察者(ContentObserver)用于观察指定Uri所代表的数据的变化
广播接收者的创建方式有两种,具体如下:
一种是通过在应用程序的包中创建一个类继承BroadcastReceiver并重写onReceive()方法来实现的。
一种是通过选中应用程序中的包,右击选择【New】→【Other】→【Broadcast Receiver】选项来创建的。
注意:创建完广播接收者之后还需要对广播接收者进行注册才可以接收广播。