一,暴露私有的文件

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. 在清单文件中声明内容提供者节点