您的位置:首页 > 移动开发 > Android开发

Android应用开发揭秘的第3个程序3_2_Content_Provider修改版和高仿版的源码注释

2012-11-05 07:55 447 查看
//读取电话本联系人名字和号码.

Activity01.java

package com.Content_Provider;

import android.app.Activity;

import android.content.ContentResolver; //为正确使用ContentResolver cr

import android.database.Cursor; //为正确使用Cursor cursor

import android.os.Bundle;

import android.provider.ContactsContract; //为正确使用ContactsContract.Contacts.CONTENT_URI

import android.provider.ContactsContract.PhoneLookup; //为正确使用PhoneLookup.DISPLAY_NAME

import android.widget.TextView; //为正确使用TextView tv

public class Activity01 extends Activity

{

public void onCreate(Bundle savedInstanceState)

{

TextView tv = new TextView(this);

String string = "";

super.onCreate(savedInstanceState);

//得到ContentResolver对象

ContentResolver cr = getContentResolver();

//取得电话本中开始一项的光标

Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

//向下移动一下光标

while(cursor.moveToNext())

{

//取得联系人名字

int nameFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);

String contact = cursor.getString(nameFieldColumnIndex);

//取得电话号码

//int numberFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.NUMBER);

//String number = "123";//cursor.getString(numberFieldColumnIndex);

//取得电话号码

String ContactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));

Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,

ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + ContactId, null, null);

while(phone.moveToNext())

{

String PhoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

string += (contact + ":" + PhoneNumber + "\n");

}

//string += (contact+":"+number+"\n");

}

cursor.close();

//设置TextView显示的内容

tv.setText(string);

//显示到屏幕

setContentView(tv);

}

}

Gf_Content_ProviderActivity.java

//AndroidManifest.xml加上相应的访问权限

//<uses-permission

//android:name="android.permission.READ_CONTACTS">

// </uses-permission>

package packagename.Gf_Content_Provider;

import android.app.Activity;

import android.content.ContentResolver;

import android.database.Cursor;

import android.os.Bundle;

import android.provider.ContactsContract;

import android.provider.ContactsContract.PhoneLookup;

import android.widget.TextView;

public class Gf_Content_ProviderActivity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//setContentView(R.layout.main);

TextView tv = new TextView(this);

String string = "";

//得到ContentResolver对象

ContentResolver cr = getContentResolver();

//取得电话本中开始一项的光标

Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

//向下移动一下光标

while(cursor.moveToNext())

{

//取得联系人名字

int nameFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);

String contact = cursor.getString(nameFieldColumnIndex);

//取得电话号码

//int numberFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.NUMBER);

//String number = "123";//cursor.getString(numberFieldColumnIndex);

//取得电话号码

String ContactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));

Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,

ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + ContactId, null, null);

while(phone.moveToNext())

{

String PhoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

string += (contact + ":" + PhoneNumber + "\n");

}

//string += (contact+":"+number+"\n");

}

cursor.close();

//设置TextView显示的内容

tv.setText(string);

//显示到屏幕

setContentView(tv);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐