Android移动应用基础教程【使用内容提供者共享数据】
【摘要】 @TOC 一、内容提供者概述 二、创建内容提供者 三、访问其他应用程序 1、查询其他程序的数据 //获取相应操作的Uri,Uri.parse()方法是将字符串转化成Uri对象。 Uri uri = Uri.parse("content://cn.itcast.mycontentprovider/person"); //获取ContentResolver对象 ContentResolv...
@TOC
一、内容提供者概述
二、创建内容提供者
三、访问其他应用程序
1、查询其他程序的数据
//获取相应操作的Uri,Uri.parse()方法是将字符串转化成Uri对象。
Uri uri = Uri.parse("content://cn.itcast.mycontentprovider/person");
//获取ContentResolver对象
ContentResolver resolver = context.getContentResolver();
//通过ContentResolver对象查询数据
Cursor cursor = resolver.query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder);
while (cursor.moveToNext()) {
String address = cursor.getString(0);
long date = cursor.getLong(1);
int type = cursor.getInt(2);
}
cursor.close();
2 、查询系统短信
四、内容观察者
1、什么是内容观察者
//创建内容观察者
private class MyObserver extends ContentObserver{
public MyObserver(Handler handler) {
super(handler);
}
//当观察到Uri代表的数据发生变化时调用此方法,程序会回调onChange()方法,
//并在该方法中处理相关逻辑
public void onChange(boolean selfChange) {
super.onChange(selfChange);
}
}
ContentResolver resolver = getContentResolver();
Uri uri = Uri.parse("content://aaa.bbb.ccc");
//注册内容观察者
resolver.registerContentObserver(uri, true, new MyObserver(new Handler()));
@Override
protected void onDestroy() {
super.onDestroy();
//取消注册内容观察者
getContentResolver().unregisterContentObserver(new MyObserver(
new Handler()));
}
2、监测数据变化
五、本章小结
本章详细地讲解了内容提供者的相关知识,首先简单地介绍了内容提供者,然后讲解了如何创建内容提供者以及如何使用内容提供者访问其他程序暴露的数据,最后讲解内容观察者,通过内容观察者观察数据的变化。本章所讲的ContentProvider是Android四大组件之一,在后续遇到程序之间需要共享数据时,会经常用到该组件,因此要求初学者一定要熟练掌握本章内容。
为了记住你的笑容,我拼命按下心中的快门!——《美丽人生》
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)