Android基础知识整合篇——ContentProvider知识点
来源:互联网 发布:javamd5加密 java 编辑:程序博客网 时间:2024/05/21 09:38
继续完成连载博客,上次介绍的是Service相关的基础知识,这次为大家带来ContentResolver的相关解释和说明。希望博客能给诸位一点小小的帮助!
内容提供器:
主要用于不同程序间数据共享,它提供了一套完整的机制,既能完成数据的交互还能保证数据的安全性。
用法有两种:
1.使用现有的内容提供器来读取和操作相应程序的数据。(读取联系人的例子)
private void readContacts(){Cursor cursor=null;try{cursor=getContentResolver().query(ContactsContract.CommanDataKinds.Phone.CONTENT_URI,null,null,null,null);while(cursor.moveToNext()){String displayNanme = cursor.getString(cursor.getColumnIndex(ContactsContract.CommanDataKinds.Phone.DISPLAY_NAME));String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommanDataKinds.Phone.NUMBER));}catch(Exception e){e.printStackTrace();}finally{if(cursor!=null){cursor.close();}}}}
用Cursor类封装全部getContentResolver().query查询出的数据,然后在分别取出。
2.创建自己的内容提供器给我们程序的数据提供外部访问的接口。
通过新建一个类去继承ContentProvider的方式来创建一个自己的内容提供器。ContentProvider中有六个抽象方法,需要重写。
public class MyProvider extends ContentProvider{@Overridepublic boolean onCreate(){return false;}@Overridepublic Cursor query(Uri uri,String[] projection,String selection,String[] selectionArgs,String sortOrder){return null;}@Overridepublic Uri insert(Uri uri,ContentValues values){return null;}@Overridepublic int update(Uri uri,ContentValues values,String selection,String[] selectionArgs){return 0;}@Overridepublic int delete(Uri uri,String selection,String[] selectionArgs){return 0;}@Overridepublic String getType(Uri uri){return null;}}1.onCreate()初始化内容提供器的时候调用,true成功,false失败。
2.query()从提供器中查询数据,projection用于确定查询哪些列,selection和selectionArgs用于查询哪些行,sortOrder对结果进行排序,查询的结果放在Cursor对象中返回。
3.insert()添加数据的方法
4.update()更新内容提供器里已有的数据。
5.delete()删除数据的方法
6.getType()根据传入的内容的URI来返回相应的MIME类型。
实现跨进程数据共享:
由于过程实在太过复杂,还需要SQLite数据库,SharedPreference,IO流等知识,不适合于基础篇,以后若是有机会我再为各位看官加一篇深度解析博客,将上面提到的知识点细分整理再写出来,而这里就不对跨进程数据共享深入解读了!
------------------------------------------------------------------------------------------------------
好的,至此关于四大组件的相关内容就介绍的差不多了。下篇开始记录更多几个安卓核心的功能和应用!敬请关注下一篇:界面UI相关知识点。
- Android基础知识整合篇——ContentProvider知识点
- Android基础知识整合篇——Activity知识点
- Android基础知识整合篇——广播接收器知识点
- Android基础知识整合篇——Service知识点
- Android基础知识整合篇——UI(部分)知识点
- Android基础知识(7)—ContentProvider实现数据共享
- Android知识点之ContentProvider
- Android ContentProvider 知识点总结
- Android基础知识---ContentProvider的基础知识
- Android—ContentProvider
- 【Android基础知识】ContentProvider(一)
- Android知识点——内容提供者和内容观察者ContentProvider ContentResolver
- Android面试知识点总结(2)——安卓基础知识篇
- Android基础——ContentProvider
- Android组件——ContentProvider
- Android——ContentProvider总结
- Android四大组件—ContentProvider
- Android四大组件—ContentProvider
- struts2的一些疑问:获取request对象
- UMeditor图片上传失败之jsp与.NET版本(转载+原创)
- autorelease 什么时候释放
- 动态添加菜单<ul>
- android_app开发集成mob短信验证码功能
- Android基础知识整合篇——ContentProvider知识点
- 时间选择器和日期选择器 对话框 TimePickerDialog DatePickerDialog
- 从Solrj4到Solrj5的升级之路
- NSURLSession的初步理解
- WebKit的JS Binding解析
- 使用NSProxy实现消息转发机制,模拟多重继承
- 如何在模型中融合内容信息
- 复数的基本概念
- iOS URLEncoding 转码、解码