zoukankan      html  css  js  c++  java
  • android contentprovider理解

    内容提供者用于保存和检索数据,使android系统中不同应用程序之间可以进行共享数据.以uri的形式对外提供数据.

    首先用一个类继承android.content包下contentprovide,重写一下方法.

      1.public boolean oncreare()   创建contentprovide时调用.

      2.public int delete(Uri uri, String selection, String[] selectionArgs) 删除指定数据.

      3.public Uri insert(Uri uri, ContentValues values)  插入数据

      4public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) 更新指定条件下的数据

      5.public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) 查询指定条件的数据

      6.public String getType(Uri uri) 返回uri代表数据的MIME类型 

    其次写uri,由content://authorities/path

      authorities指在清单文件中注册的android:authorities的值

      path代表数据,动态改变

    如:

     private static UriMatcher matcher=new UriMatcher(UriMatcher.NO_MATCH);
        private static final int INSERT=1;
        private static final int DELETE=2;
        private static final int UPDATE=3;
        private static final int QUERY=4;
        private static final int QUERYONE=5;
    
        static {
            matcher.addURI("com.lss.readcontactmassage.PersonDBProvider","insert",INSERT);
            matcher.addURI("com.lss.readcontactmassage.PersonDBProvider","delete",DELETE);
            matcher.addURI("com.lss.readcontactmassage.PersonDBProvider","update",UPDATE);
            matcher.addURI("com.lss.readcontactmassage.PersonDBProvider","query",QUERY);
            //#为通配符,所有符合"query/"的都返回queryone的返回码
            matcher.addURI("com.lss.readcontactmassage.PersonDBProvider","query/#",QUERYONE);
        }

    public int match(Uri uri)  返回addUri方法中传入的参数的code值

  • 相关阅读:
    python中F/f表达式优于format()表达式
    java8新特性-foreach&lambda
    Java实现多线程的四种方式
    Java中的字符串常量池,栈和堆的概念
    java对象只有值传递,为什么?
    面向对象和面向过程程序设计理解及区别
    String对象为什么不可变
    mybatis_plus插件——生成器
    基于grpc的流式方式实现双向通讯(python)
    Django使用DataTables插件总结
  • 原文地址:https://www.cnblogs.com/IT-lss/p/5664627.html
Copyright © 2011-2022 走看看