content_provider对外共享数据实现步骤:
第一步:在AndroidMainfest.xml配置对外共享数据的域名
//其中 .ProviderService是自己编写的一个类,用来对外共享数据
//com.smu.providers.msgprovider是对外共享数据的域名
<provider android:name=".ProviderService" android:authorities="com.smu.providers.msgprovider"/>
第二步:编写ProviderService类并ContentProvider重写下面的方法
这些方法,可以根据对外共享数据的要求,进行编写相应的实现方法。
public class ProviderService extends ContentProvider{
//当该类被实例化的时候调用onCreate()方法,一般是用来初始化工作的
public boolean onCreate(){
}
public Uri insert(Uri uri, ContentValues values){
}
public int delete(Uri uri, String selection, String[] selectionArgs){
}
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs){
}
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder){
}
public String getType(Uri uri){
}
外部应用程序仿问content_provider
如果实现上面两步之后,该类即可对外共享数据
被外部应用程序仿问的例子:插入一条数据
ContentResolver contentResolver = this.getContext().getContentResolver();
//content://就是请求头,是android规定的,相当于http://
//com.smu.providers.msgprovider是上面配置的域名,相当于baidu.com
//sms指的是数据表sms
Uri insertUri = Uri.parse("content://com.smu.providers.msgprovider/sms");
ContentValues values = new ContentValues();
values.put("name", "xjz");
values.put("age", 23);
//执行完这一句后,相当于是往上面的应用程序插入一条记录
Uri uri = contentResolver.insert(insertUri, values);