设计开发源代码
1.AddContactsActivity类
package .demo.pr3;
import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.EditText; import android.widget.Toast;
import .demo.pr3.datax.ContactsTable; import .demo.pr3.datax.User; /*增加记录操作界面*/
public class AddContactsActivity extends Activity { private EditText nameEditText; //输入框 private EditText mobileEditText; //手机输入框 private EditText qqEditText; //qq private EditText danweiEditText; //单位 private EditText addressEditText; //地址 Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.edit);
setTitle(\添加联系人\
//从已设置的页面布局查找对应的控件
nameEditText=(EditText)findViewById(R.id.name); mobileEditText=(EditText)findViewById(R.id.mobile); danweiEditText=(EditText)findViewById(R.id.danwei); qqEditText=(EditText)findViewById(R.id.qq);
addressEditText=(EditText)findViewById(R.id.address); }
/*创建菜单 */ public boolean onCreateOptionsMenu(Menu menu) { menu.add(Menu.NONE,1, Menu.NONE, \保存\ menu.add(Menu.NONE,2, Menu.NONE, \返回\ return super.onCreateOptionsMenu(menu); }
/* 菜单事件*/ public boolean onOptionsItemSelected(MenuItem item){ // TODO Auto-generated method stub
switch (item.getItemId()) {
case 1://保存 if(!nameEditText.getText().toString().equals(\ { User user=new User(); user.setName(nameEditText.getText().toString()); user.setMoblie(mobileEditText.getText().toString()); user.setDanwei(danweiEditText.getText().toString()); user.setQq(qqEditText.getText().toString()); user.setAddress(addressEditText.getText().toString()); ContactsTable ct= new ContactsTable(AddContactsActivity.this); if(ct.addData(user)) {
Toast.makeText(AddContactsActivity.this, \添加成功!\ Toast.LENGTH_SHORT).show(); finish(); }else { Toast.makeText(AddContactsActivity.this, \添加失败!\ Toast.LENGTH_SHORT).show(); } }else {
Toast.makeText(AddContactsActivity.this, \请先输入数据!\ Toast.LENGTH_SHORT).show(); }
break;
case 2://返回 finish(); break; default: break; } return super.onOptionsItemSelected(item); } }
2. ContactsMessageActivity类
package .demo.pr3;
import android.app.Activity;
import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView;
import .demo.pr3.datax.ContactsTable; import .demo.pr3.datax.User; /*显示联系人界面 */
public class ContactsMessageActivity extends Activity { private TextView nameTextView; //输入框 private TextView mobileTextView; //手机输入框 private TextView qqTextView; //qq private TextView danweiTextView; //单位 private TextView addressTextView; //地址 private User user; //修改的联系人 Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.message); setTitle(\联系人信息\
//从已设置的页面布局查找对应的控件
nameTextView=(TextView)findViewById(R.id.name); mobileTextView=(TextView)findViewById(R.id.mobile); danweiTextView=(TextView)findViewById(R.id.danwei); qqTextView=(TextView)findViewById(R.id.qq);
addressTextView=(TextView)findViewById(R.id.address);
//将要修改的联系人数据付值到用户界面显示 Bundle localBundle = getIntent().getExtras(); int id=localBundle.getInt(\
ContactsTable ct=new ContactsTable(this); user =ct.getUserByID(id);
nameTextView.setText(\ mobileTextView.setText(\ qqTextView.setText(\
danweiTextView.setText(\单位:\ addressTextView.setText(\地址:\ }
/*创建菜单*/ public boolean onCreateOptionsMenu(Menu menu) { menu.add(Menu.NONE, 1, Menu.NONE, \返回\ return super.onCreateOptionsMenu(menu); }
/* 菜单事件 */
public boolean onOptionsItemSelected(MenuItem item){ // TODO Auto-generated method stub switch (item.getItemId()) { case 1://返回 finish(); break; default: break; } return super.onOptionsItemSelected(item); } }
3. MyContactsActivity类
package .demo.pr3;
import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog;
import android.app.AlertDialog.Builder; import android.content.ContentUris; import android.content.ContentValues; import android.content.Context;
import android.content.DialogInterface; import android.content.Intent; import android.graphics.Color; import android.net.Uri; import android.os.Bundle;
import android.provider.ContactsContract.RawContacts;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.CommonDataKinds.StructuredName; import android.provider.ContactsContract.Contacts.Data; import android.view.Menu; import android.view.MenuItem; import android.view.View;
import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import .demo.pr3.datax.ContactsTable; import .demo.pr3.datax.User; /*主界面*/
public class MyContactsActivity extends Activity {
private ListView listView; //结果列表 private BaseAdapter listViewAdapter; //ListView 列表适配器 private User users[];//通讯录用户 private int selecteItem=0; //当前选择 Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);
setTitle(\通讯录\
listView = (ListView) findViewById(R.id.listView); loadContacts(); }
/*加载联系人列表*/
private void loadContacts() {
//获取所以通讯录联系人 ContactsTable ct=new ContactsTable(this); users=ct.getAllUser(); //listView列表现实适配器
listViewAdapter=new BaseAdapter() { Override
public View getView(int position, View convertView, ViewGroup parent) { if(convertView==null) {
TextView textView = new TextView(MyContactsActivity.this); textView.setTextSize(22); convertView=textView; }
String moblie=users[position].getMoblie()==null?\ :users[position].getMoblie();
((TextView)convertView).setText(users[position] .getName()+\ if(position==selecteItem) { convertView.setBackgroundColor(Color.YELLOW); }else {