Android学习笔记 第14章

第14章 使用内容提供器

应用程序可以使用内容提供其来获取其他程序的数据,也可以共享自己程序的数据或者资源
注意:测试一定要在测试设备上,否则容易丢失联系人,书签等。

14.1探索Android内容提供器

AlarmClock:在闹钟应用程序中设置闹铃
Browser   浏览历史和书签
CalenderContract 日历和事件信息
CallLog 拨打和接听电话
ContactsContract 手机的联系人数据库或者电话簿
MediaStore 手机上的视听资料和外部存储
SearchRecentSuggestions 在应用程序中设置合适的搜索建议
Settings 系统范文的设备设置和首选项
UserDictionary 用户定义的词典,可以用于文本输入的预测
VoicemailContract 帮助在不同资源中统一管理语音邮件内容

14.1.1使用MediaStore内容提供器

定义数组
String[] requestColums = {MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.DURATION};
Cursor sor = managedQuery(Media.Store.Audio.Media。EXTERN_CONTENT_URI, requestColums, null, null, null);

14.1.2使用CallLog内容提供器 

CallLog.Calls.CACHED_NUMBER_LABEL,//标签
CAllLog.Calls.DURATION   //持续时间
设置Cursor过滤
managedQuery(CallLog.Calls.CONTENT_URI, requestedColums,CallLog.Calls.CACHED_NUMBER_LABEL + " = ?",
new String[] {"过滤"}, null);
访问Call内容提供其需要 READ_CONTACTS权限。

14.1.3使用浏览器内容提供其

Browser.BookmarkColumns.Title, Browser.BookmarkColumns.VISITS, Browser.BookmarkColumns.BOOKMARK

Cursor faves = managedQuery(Browser.BOOKMARKS_URI, requestedColumns, 
Browser.BookmarkColumns.BOOKMARK + "=1", null,
Browser.BoomarkColumns.VISITS + "DESC LIMIT 5");
第一个参数针对素有历史记录的URI, 第二个参数查询结果的请求列, 书签属性为真, 第4个参数在第三个参数设置的情况下使用,第5个参数指定结果的排序凡事。

获取浏览器需要READ_HISTORY_BOOKMARK权限

14.1.4使用CalenderContract内容提供器

Intent calIntent = new Intent(Intent.ACTION_INSERT);
calIntent.setData(CalendarContract.Events.CONTENT_URI);
calIntent.putExtra()...

14.1.5使用UserDictionary用户词典内容提供其
用来在文本域中预测文本的输入。使用UserDictionary.Words类的addWord()方法来向用户自定义字典中添加词语。

14.1.6使用VoicemailContract内容提供器
需要获得权限 ADD_VOICMAIL

14.1.7使用setting内容提供其
使用Settings内容提供器可以获得设备相关设置和用户首选项

需要注册WRITE_SETTING 或WRITE_SECURE_SETTINGS

14.1.8使用联系簿内容提供器
旧版本中使用Contacts来获取,2.0之后的版本使用ContactsContract来获取。
如果想要获取需要注册READ_CONTACTS权限
如果想要修改 需要注册WRITE_CONTACTS权限

ContactsContract.CommonDataKinds  定义一系列常用的Contact列,例如E-mail, 昵称,电话和照片
ContactsContract.Contacts 定义了与联系人相关的整合信息
ContactsContract.Data  定义了某个联系人信息的原始数据
ContactsContract.PhoneLookup 定义了电话列, 可以用来快速查找电话号码
ContactsContract.StatusUpdates  定义了有关社交网络的列

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值