一,暴露私有的文件
1.有一个应用程序,带一个私有的文件,需求是暴露这个私有的文件。
2. 写ContentProvider的一个子类
3. 定义匹配规则
* 定义匹配器 UriMatcher
* 定义匹配规则 mUriMatcher.addURI("com.xunfang.content", "文件名", SUCCESS);
4. 重写openFile方法
5. 在清单文件中声明内容提供者节点(<provider android:name="com.xunfang.contentprovider.DBContentProvider" android:authorities="com.xunfang.db"/>)
6.访问该文件
//获取一个内容解析器
ContentResolver resolver = getContentResolver() ;
//设定uri
Uri uri = Uri.parse("content://com.xunfang.login/info.txt") ;
try {
InputStream is = resolver.openInputStream(uri) ;
BufferedReader br = new BufferedReader(new InputStreamReader(is)) ;
String info = br.readLine() ;
tvinfo.setText(info) ;
} catch (Exception e) {
e.printStackTrace();
}
二.对数据库的私有数据访问
1. 有一个应用程序,带一个私有的数据库,需求是暴露这个私有的数据库。
2. 写ContentProvider的一个子类
3. 定义匹配规则
* 定义匹配器 UriMatcher
* 定义匹配规则 mUriMatcher.addURI("com.xunfang.content", "info", SUCCESS);
4. 根据业务需求实现增删改查的方法
5. 在清单文件中声明内容提供者节点