`
jk138
  • 浏览: 153820 次
  • 性别: Icon_minigender_1
  • 来自: 茂名
社区版块
存档分类
最新评论

Content Provider

阅读更多

 

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** 在Android开发中,Content Provider是一个至关重要的组件,它充当了应用程序间数据共享的桥梁。本文将深入探讨Content Provider的基本概念、创建方法、如何进行CRUD(Create、...

    Content Provider获取联系人和图片

    在Android系统中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序之间可以安全地访问和操作数据。本篇文章将深入探讨如何利用Content Provider获取联系人和图片,以及相关的知识点。 ...

    android content provider示例程序(简单记账)

    在Android开发中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序间可以安全地访问和操作数据。这篇博文的示例程序"android content provider示例程序(简单记账)"旨在帮助开发者理解...

    content provider实现数据共享demo(内有两个项目)

    在Android应用开发中,Content Provider是一种重要的组件,它允许应用程序之间进行数据共享。Content Provider作为Android系统中的数据接口,能够使一个应用的数据被其他应用访问和操作,这在多应用协同工作或者数据...

    Android新手Content Provider获取通讯录,短信,通话记录

    理解Content Uri的概念和作用,掌握通过Content Provider访问联系人的方法,掌握通过Content Provider访问通话记录的方法,掌握通过Content Provider访问短信的方法。

    四大组件 Activity Service content provider broadcast receiver

    ### 四大组件详解:Activity、Service、Content Provider与Broadcast Receiver #### 一、Activity **定义:** Activity是Android应用程序中的四大基本组件之一,它代表一个屏幕界面,用户可以直接与其进行交互。每...

    编写content provider

    在Android系统中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序之间可以安全地访问和操作数据。这篇博客“编写Content Provider”很可能是深入解析如何创建和使用自定义Content ...

    content provider.doc

    Content Provider是Android系统中一种核心组件,用于在不同应用程序之间共享数据。它是Android四大组件(Activity、Service、BroadcastReceiver和Content Provider)之一,允许开发者安全地暴露应用数据,供其他应用...

    Content Provider的使用

    在Android系统中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序之间可以安全地交换数据。这篇博客“Content Provider的使用”深入探讨了如何在Android开发中利用Content Provider实现...

    content_provider_demo

    在Android开发中,Content Provider是一种重要的组件,它允许应用程序之间共享数据。`content_provider_demo`是一个展示如何创建和使用Content Provider的示例项目。在这个项目中,开发者将学习如何为其他应用提供...

    android中Content Provider

    在Android系统中,Content Provider是四大组件之一,它是应用程序间数据共享的核心机制。Content Provider允许一个应用暴露其数据,使得其他应用可以读取或者写入这些数据,甚至跨应用程序进行数据交换。这篇博客...

    content provider 和sqllite用法整理

    在Android开发中,Content Provider和SQLite数据库是两个非常重要的组件,它们主要用于数据的存储和共享。下面将详细讲解这两个概念及其用法。 首先,我们来理解Content Provider。Content Provider是Android系统...

    Android Content Provider Demo

    在Android开发中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序间可以安全地访问和操作数据。本"Android Content Provider Demo"着重于演示如何创建和使用Content Provider来实现跨...

    使用Content Provider案例

    在Android系统中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序间可以安全地访问和操作数据。本案例将深入探讨如何创建和使用Content Provider,以实现跨应用的数据交换。 首先,...

    简单实现自己的Content Provider(一)

    在Android系统中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序之间可以安全地访问和操作数据。这篇博客“简单实现自己的Content Provider(一)”旨在引导开发者如何从零开始构建一...

    android 自定义 Content Provider示例

    在Android开发中,Content Provider是四大组件之一,它充当了数据共享和交换的桥梁,使得不同的应用程序之间可以安全地共享数据。本示例将详细解析如何自定义Content Provider,以便在Android应用间实现数据共享。 ...

    Android内容提供者(Content provider)

    **Android内容提供者(Content Provider)详解** 在Android系统中,数据共享是应用程序间交互的重要方式,而Android内容提供者(Content Provider)正是实现这一功能的关键组件。Content Provider作为Android四大...

    2011.09.07(4)——— android 跨进程通信之content provider

    本文将详细解析2011年9月7日关于Android跨进程通信之Content Provider的知识点,结合相关源码和实用工具进行阐述。 Content Provider是Android四大组件之一,它扮演着数据管理者的角色,允许不同的应用程序之间共享...

Global site tag (gtag.js) - Google Analytics