A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© android_vae 中级黑马   /  2016-6-1 13:29  /  466 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Content Provider为存储和获取数据提供了统一的接口,使用Content Provider可以在不同的应用程序之间共享数据。
Content Provider使用表的形式组织数据
URI:统一资源标识符
1.每一个ContentProvider都拥有一个公共的URI,这个URI用于表示这个ContentProvider所提供的数据。
2.Android提供的ContentProvider都放在android.provider包中。
CoontentProvider提供的常用方法:
•query( )                //查询
•inert( )                        //插入
•update( )                //更新
•delete( )                //删除
•getType( )                //得到数据类型
•onCreate( )                //创建时的回调函数
实现ContentProvider的过程
1.        定义一个CONTENT_URI(创建一个类,可以在子类中实现BaseColumns接口)
        public static final Uri CONTENT_URI = Uri.parse(“content://完整ContentProvider类名”);
表中的字段也用常量定义
表类型:(访问整张表)
        Public static final String CONTENT_TYPE=”vnd.android.cursor.dir/vnd.XXX”;
访问一条数据:
         Public static final String CONTENT_TYPE¬_ITEM=”vnd.android.cursor.item/vnd.XXX”;
默认排序方法:
        Public static final String DEFAULT_SORT_ORDER=”_id desc”;
2.        定义一个ContentProvider继承类,并实现query、inert、update、delete、getType、onCreate等方法
        Private static final  UriMatcher uriMatcher = new UriMatcher( );
        Static{
                uriMatcher.addURI(“完整类名”,”路径”,编号);
                ••••••
        }
        //根据传入的Uri,返回Uri表示的数据类型
        getType(Uri uri){ }
        public static HashMap<String, String>  MyMap;
        static {
                MyMap = new HashMap<String , String>;
                MyMap.put(字段名, 别名);                }
3.        在AndroidManifest.xml中声明
android:name=””
android:authorities=”包名加类名”

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马