TestContacts.java:
package waga.android.study.TestContacts;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.ContactsContract.RawContacts;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.TextView;
public class TestContacts extends Activity
{
TextView myTextView;
String str;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setTitle(R.string.ReadContact);
}
// 创建选项菜单
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.layout.menu, menu);
return true;
}
// 响应选项菜单
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
// 新建联系人
case R.id.menu_add:
{
// new一 个Intent对 象 , 并指定class
Intent intent = new Intent();
intent.setClass(this, NewContactActivity.class);
startActivity(intent);
return true;
}
// 删除联系人
case R.id.menu_delete:
{
// new一 个Intent对 象 , 并指定class
Intent intent = new Intent();
intent.setClass(this, DeleteContactActivity.class);
startActivity(intent);
return true;
}
// 更新联系人
case R.id.menu_update:
{
// new一 个Intent对 象 , 并指定class
Intent intent = new Intent();
intent.setClass(this, UpdateContactActivity.class);
startActivity(intent);
return true;
}
// 退出
case R.id.menu_exit:
{
finish();
return true;
}
}
return false;
}
@Override
protected void onResume()
{
super.onResume();
TextView myTextView = (TextView)findViewById(R.id.ContactsInfo);
str = "";
// 读取所有的联系人
readAllContacts();
myTextView.setText(str);
}
// 读取所有的联系人
public void readAllContacts()
{
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
if (cur.getCount() > 0)
{
while (cur.moveToNext())
{
String rawContactsId = "";
String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
str += "ContactID:" + id + "\n";
// 读取rawContactsId
Cursor rawContactsIdCur = cr.query(RawContacts.CONTENT_URI,
null,
RawContacts.CONTACT_ID +" = ?",
new String[]{id}, null);
if (rawContactsIdCur.moveToFirst())
{
rawContactsId = rawContactsIdCur.getString(rawContactsIdCur.getColumnIndex(RawContacts._ID));
str += "RawContactsID:" + rawContactsId + "\n";
}
rawContactsIdCur.close();
str += "姓名:" + name + "\n";