继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

contentProvider(一)

慕码人8056858
关注TA
已关注
手记 1293
粉丝 351
获赞 1326

内容提供者。就按字面意思来理解 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



作者:爱编程的小火柴
链接:https://www.jianshu.com/p/243f73e42bea


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP