package wyf.wpf; //声明包语句
import android.app.Activity; //引入相关类
import android.content.ContentResolver; //引入相关类
import android.database.Cursor; //引入相关类
import android.net.Uri; //引入相关类
import android.os.Bundle; //引入相关类
import android.provider.Contacts.People; //引入相关类
import android.widget.TextView; //引入相关类
//继承自Activity的子类
public class Sample_4_4 extends Activity {
String [] columns = { //查询Content Provider时希望返回的列
People._ID,
People.NAME,
};
Uri contactUri = People.CONTENT_URI; //访问Content Provider需要的Uri
TextView tv; //TextView对象引用
@Override
public void onCreate(Bundle savedInstanceState) { //重写onCreate方法
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView)findViewById(R.id.tv); //获得TextView对象引用
String result = getQueryData(); //调用方法访问Content Provider
tv.setText("ID\t名字\n"+result); //将查询到的信息显示到TextView中
}
//方法:获取联系人列表信息,返回String对象
public String getQueryData(){
String result = "";
ContentResolver resolver = getContentResolver(); //获取ContentResolver对象
Cursor cursor = resolver.query(contactUri, columns, null, null, null); //调用方法查询Content Provider
int idIndex = cursor.getColumnIndex(People._ID); //获得_ID字段的列索引
int nameIndex = cursor.getColumnIndex(People.NAME); //获得NAME字段的列索引
for(cursor.moveToFirst();(!cursor.isAfterLast());cursor.moveToNext()){ //遍历Cursor,提取数据
result = result + cursor.getString(idIndex)+ "\t";
result = result + cursor.getString(nameIndex)+ "\t\n";
}
cursor.close(); //关闭Cursor对象
return result;
}
}
/*
package wyf.wpf;
import android.app.Activity;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Contacts.People;
import android.widget.TextView;
public class Sample_4_4 extends Activity {
String [] columns = {
People._ID,
People.NAME,
People.NUMBER
};
Uri contactUri = People.CONTENT_URI;
TextView tv; //TextView对象引用
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView)findViewById(R.id.tv);
tv.setText(getQueryData());
}
//方法:获取联系人列表信息,返回String对象
public String getQueryData(){
String result = "";
Cursor cursor = this.managedQuery(contactUri, columns, null, null, null);
System.out.println("========= the size of cursor is:"+cursor.getCount());
int idIndex = cursor.getColumnIndex(People._ID);
int nameIndex = cursor.getColumnIndex(People.NAME);
int numberIndex = cursor.getColumnIndex(People.NUMBER);
for(cursor.moveToFirst();(!cursor.isAfterLast());cursor.moveToNext()){ //遍历Cursor,提取数据
result = result + cursor.getString(idIndex)+ "\t";
result = result + cursor.getString(nameIndex)+ "\t";
result = result + cursor.getString(numberIndex)+ "\t\n";
}
cursor.close();
return result;
}
}
*/
AndroidManifest.xml添加权限
<uses-permission android:name="android.permission.READ_CONTACTS" />
分享到:
相关推荐
**Android基础 Content Provider** 在Android开发中,Content Provider是一个至关重要的组件,它充当了应用程序间数据共享的桥梁。本文将深入探讨Content Provider的基本概念、创建方法、如何进行CRUD(Create、...
在Android系统中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序之间可以安全地访问和操作数据。本篇文章将深入探讨如何利用Content Provider获取联系人和图片,以及相关的知识点。 ...
在Android开发中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序间可以安全地访问和操作数据。这篇博文的示例程序"android content provider示例程序(简单记账)"旨在帮助开发者理解...
在Android应用开发中,Content Provider是一种重要的组件,它允许应用程序之间进行数据共享。Content Provider作为Android系统中的数据接口,能够使一个应用的数据被其他应用访问和操作,这在多应用协同工作或者数据...
理解Content Uri的概念和作用,掌握通过Content Provider访问联系人的方法,掌握通过Content Provider访问通话记录的方法,掌握通过Content Provider访问短信的方法。
### 四大组件详解:Activity、Service、Content Provider与Broadcast Receiver #### 一、Activity **定义:** Activity是Android应用程序中的四大基本组件之一,它代表一个屏幕界面,用户可以直接与其进行交互。每...
在Android系统中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序之间可以安全地访问和操作数据。这篇博客“编写Content Provider”很可能是深入解析如何创建和使用自定义Content ...
Content Provider是Android系统中一种核心组件,用于在不同应用程序之间共享数据。它是Android四大组件(Activity、Service、BroadcastReceiver和Content Provider)之一,允许开发者安全地暴露应用数据,供其他应用...
在Android系统中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序之间可以安全地交换数据。这篇博客“Content Provider的使用”深入探讨了如何在Android开发中利用Content Provider实现...
在Android开发中,Content Provider是一种重要的组件,它允许应用程序之间共享数据。`content_provider_demo`是一个展示如何创建和使用Content Provider的示例项目。在这个项目中,开发者将学习如何为其他应用提供...
在Android系统中,Content Provider是四大组件之一,它是应用程序间数据共享的核心机制。Content Provider允许一个应用暴露其数据,使得其他应用可以读取或者写入这些数据,甚至跨应用程序进行数据交换。这篇博客...
在Android开发中,Content Provider和SQLite数据库是两个非常重要的组件,它们主要用于数据的存储和共享。下面将详细讲解这两个概念及其用法。 首先,我们来理解Content Provider。Content Provider是Android系统...
在Android开发中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序间可以安全地访问和操作数据。本"Android Content Provider Demo"着重于演示如何创建和使用Content Provider来实现跨...
在Android系统中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序间可以安全地访问和操作数据。本案例将深入探讨如何创建和使用Content Provider,以实现跨应用的数据交换。 首先,...
在Android系统中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序之间可以安全地访问和操作数据。这篇博客“简单实现自己的Content Provider(一)”旨在引导开发者如何从零开始构建一...
在Android开发中,Content Provider是四大组件之一,它充当了数据共享和交换的桥梁,使得不同的应用程序之间可以安全地共享数据。本示例将详细解析如何自定义Content Provider,以便在Android应用间实现数据共享。 ...
**Android内容提供者(Content Provider)详解** 在Android系统中,数据共享是应用程序间交互的重要方式,而Android内容提供者(Content Provider)正是实现这一功能的关键组件。Content Provider作为Android四大...
本文将详细解析2011年9月7日关于Android跨进程通信之Content Provider的知识点,结合相关源码和实用工具进行阐述。 Content Provider是Android四大组件之一,它扮演着数据管理者的角色,允许不同的应用程序之间共享...