contentProvider(一)

内容提供者。就按字面意思来理解 Android手机的内容,提供出来的工具

它是不同应用程序直接进行数据交换的标准API,当一个应用程序需要把自己的数据暴露出来给其他应用使用的时候,该应用程序

就可以通过提供contentProvider来实现:其他应用程序就可以通过ContentResolver来操作ContentProvider暴露出来的数据(抄的疯狂Android),内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,

它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访数据

的安全性。                                                  1、创建一PersonProvider继承ContentProvider,实现六个方法,增删改查以及onCreate和getType。(因篇幅限制,这里只贴出了具有代表性的几个方法)   

public class PersonProvider extends ContentProvider {


    private MyOpenHelper oh;

    SQLiteDatabase db;

 

    //内容提供者创建时调用

    @Override

    public boolean onCreate() {

          oh = new MyOpenHelper(getContext());

          db = oh.getWritableDatabase();

          return false;

    }


    @Override

    public Cursor query(Uri uri, String[] projection, String selection,

              String[] selectionArgs, String sortOrder) {

          Cursor  cursor = db.query("person", projection, selection, selectionArgs, null, null, sortOrder, null);

          return cursor;

    }


    @Override

    public String getType(Uri uri) {         

          return null;

    }

    //此方法供其他应用调用,用于往people数据库里插数据

    //values:由其他应用传入,用于封装要插入的数据

    //uri:内容提供者的主机名,也就是地址

    @Override

    public Uri insert(Uri uri, ContentValues values) {

          //使用uri匹配器匹配传入的uri 

              db.insert("person", null, values);

          return uri;

    }

2、 因为我们的内容提供者主要是在数据库中进行增删改查,所以我们再创建一个MyOpenHelper继承SQLiteOpenHelper,创建一个people.db

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 Android四种数据持久化方式 Android有四种数据持久化方式: SharePreference 轻量...
    Kevin_Junbaozi阅读 4,968评论 2 1
  • 2017年5月17日 Kylin_Wu 标注(★☆)为考纲明确给出考点(必考) 常见手机系统(★☆) And...
    Azur_wxj阅读 5,794评论 0 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,380评论 19 139
  • 2018年又过了快一半了,觉得这学期在有些方面还是有进步的,就是自己平时的想法会做出实际行动了,比如上学期...
    张莹_1703阅读 3,770评论 0 0
  • 旧的2009-2017,新的2018-2020…… 期待更好的自己……
    干煸马鲛鱼阅读 734评论 3 0