Android中数据共享利用contentprovide、sharedperference可以完成不同应用之间的数据交互。
Contentprovide 分为数据提供部分以及数据使用部分。
数据提供:
(1)创建一个类继承contentProvider
(2)在oncreat方法中添加需要提前实现的对象。如果要是对数据库进行操作,那么这里就要实现数据库操作对象的方法。
public boolean onCreate(){
mOpenHelper = new PersonSQLiteOpenHelper(getContext());
return true;
}
(3)在static{} 方法中加载一些静态代码块
uriMatcher.addURI 一般在这里添加URI的配对方法的路径,已经配对成功之后的返回值。
(4)publicString getType(Uri uri)
将这个方法重写一次。
(5)实现需要提供的方法,
比如这里你可能实现的是数据库的增删改查操作。
(6)如果需要对其私有化,可以在AndroidManifest文件中添加权限:
<permission android:name="aa.bb.cc.read"></permission>
<permission android:name="aa.bb.cc.write" ></permission>
添加读写权限。
Contentprovide使用者:
(1)添加读写使用权限
<uses-permission android:name="aa.bb.cc.read"/>
<uses-permission android:name="aa.bb.cc.write"/>
(2)这里以插入操作为力
2.1 创建URI 2.2创建数据ContentValues 2.3 ContentResolver调用数据
public void testInsert() {
Uriuri = Uri.parse("content://com.zhengwei.sqlitexx.providers.PersonContentProvider/person/insert");
ContentResolverresolver = getContext().getContentResolver();
ContentValuesvalues = new ContentValues();
values.put("name", "fengjie");
values.put("age", 90);
uri= resolver.insert(uri, values);
Log.i(“test”, "uri: " + uri);
}