0109内容提供者

内容提供者

在Android当中自定义一个数据内容提供者的过程。

  1. 该内容提供者都是与数据相关联的,要从数据库当中读取到相关的数据。所以首先要在src当中定义一个数据的java类。

    1. 在Android当中定义一个数据类,一定要注意是该类继承于SQLiteOpenHelper类。并且在定义好的类当中要实现数据库当中的四个参数。具体如下为例:

      public MyOpenHelper(Context context, String name, CursorFactory factory,
      int version) {
      super(context, "people.db", null, 1);//数据库的四个参数,分别是上下文,数据库名称,和数据工厂和版本号,一般只要命名数据库名字和版本号就好。
      // TODO Auto-generated constructor stub
      }
      
    2. 其后的方法体要重写创建数据库的语句。在这一段的语句当中是跟在SQLiteExperter当中创建创建数据的语法相似。换句话讲就是将创建数据库的语句写在了java类当中了。

      @Override
      public void onCreate(SQLiteDatabase db) {
          //在这里创建表.这里括号中的语句是要写入到数据库当中当做数据库写入的语句。
          db.execSQL("create table person(_id integer primary key autoincrement,name char(10),salary integer(10))");
      }
      
  2. 写好了以上创建数据库的java类,再写一个测试方法类即可。测试方法类要继承于AndroidTestCase这个大类。
    2.在运行之前,在清单配置文件Manifest当中指定相关指令集。

    <instrumentation android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.scau.SQLite"></instrumentation>  
    
  3. 在Manifest当中配置内容提供者的相关配置,主要包括name,authorities,exported者三者,具体代码如下:

     <provider android:name="com.scau.SQLite.provider.PersonProvider"
        android:authorities="com.scau.person"
        android:exported="true"></provider>
    

    对以上一段代码的理解

    • name和其他三个Android的组件一样,配置在其中是让应用获取到这个内容提供者对象。

    • authorities相当于给这个内容提供者指定一个名字,因为在Android程序当中会有很多个内容提供者,这里指定一个名字是为了区分其他。、

    • exported是在Android4.0之后才出现的,为了表明这个应用是可以输出的。

内容提供者的Uri匹配器

  • *
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值