代码来源:Android移动开发教程(项目式)
工程文件:https://download.csdn.net/download/m0_53397360/13669859
整体结构:
1、activity_add.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="10dp"
>
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="姓名:"
android:textSize="22dp"
android:layout_marginLeft="5dp"
/>
<EditText
android:id="@+id/name"
android:layout_width="302dp"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="10dp"
>
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="公司:"
android:textSize="22dp"
android:layout_marginLeft="5dp"
/>
<EditText
android:id="@+id/company"
android:layout_width="302dp"
android:layout_height="wrap_content"
android:minLines="2"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="职位:"
android:textSize="22dp"
android:layout_marginLeft="5dp"
/>
<EditText
android:id="@+id/position"
android:layout_width="302dp"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="手机号:"
android:textSize="22dp"
android:layout_marginLeft="5dp"
/>
<EditText
android:id="@+id/phone"
android:layout_width="302dp"
android:layout_height="wrap_content"
android:inputType="number"
/>
</LinearLayout>
<!--qq-->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal"
>
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="Q Q:"
android:textSize="22dp"
android:layout_marginLeft="5dp"
/>
<EditText
android:id="@+id/qq"
android:layout_width="302dp"
android:layout_height="wrap_content"
android:inputType="number"
/>
</LinearLayout>
<!--地址-->
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="10dp"
>
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="地址:"
android:textSize="22dp"
android:layout_marginLeft="5dp"
/>
<EditText
android:id="@+id/address"
android:layout_width="302dp"
android:layout_height="wrap_content"
android:minLines="2"
/>
</LinearLayout>
</LinearLayout>
2、activity_check.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="姓名:"
android:textSize="22dp"
android:layout_marginLeft="5.0dip"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="10dp"
>
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="公司:"
android:textSize="22dp"
android:layout_marginLeft="5dp"
/>
<TextView
android:id="@+id/company"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="公司:"
android:textSize="22dp"
android:layout_marginLeft="5dp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="职位:"
android:textSize="22dp"
android:layout_marginLeft="5dp"
/>
<TextView
android:id="@+id/position"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="职位:"
android:textSize="22dp"
android:layout_marginLeft="5.0dip"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="手机号:"
android:textSize="22dp"
android:layout_marginLeft="5dp"
/>
<TextView
android:id="@+id/phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="手机号码:"
android:textSize="22dp"
android:layout_marginLeft="5.0dip"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal"
>
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="Q Q:"
android:textSize="22dp"
android:layout_marginLeft="5dp"
/>
<TextView
android:id="@+id/qq"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="QQ:"
android:textSize="22dp"
android:layout_marginLeft="5.0dip"
/>
</LinearLayout>
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="10dp"
>
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="地址:"
android:textSize="22dp"
android:layout_marginLeft="5dp"
/>
<TextView
android:id="@+id/address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="地址:"
android:textSize="22dp"
android:layout_marginLeft="5.0dip"
/>
</LinearLayout>
3、activity_find.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="查询:"
android:textSize="22dp"
android:layout_marginLeft="5dp"
/>
<EditText
android:id="@+id/findedit"
android:layout_width="190dp"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="10dp"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/find"
android:text="查询"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="100dp"
android:id="@+id/cancel"
android:text="取消"/>
</LinearLayout>
</LinearLayout>
4、activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
5、Mainactivity.class
package com.example.addressbook;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
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 java.util.List;
public class MainActivity extends AppCompatActivity {
private ListView listView;
private BaseAdapter baseAdapter;
private User users[];
private int select=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("通讯录");
listView=(ListView)findViewById(R.id.listView);
getAddressBook();
}
private void getAddressBook(){
ContactsTable contactsTable=new ContactsTable(this);
users=contactsTable.read();
baseAdapter=new BaseAdapter() {
@Override
public int getCount() {
return users.length;
}
@Override
public Object getItem(int position) {
return users[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null){
TextView textView=new TextView(MainActivity.this);
textView.setTextSize(20);
convertView=textView;
}
String phone=users[position].getPhone()==null?"":users[position].getPhone();
((TextView)convertView).setText(users[position].getName()+"————————"+phone);
if(position==select){
convertView.setBackgroundColor(Color.rgb(135,206,235));
}else{
convertView.setBackgroundColor(0);
}
return convertView;
}
};
listView.setAdapter(baseAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
select=position;
baseAdapter.notifyDataSetChanged();
}
});
}
public boolean onCreateOptionsMenu(Menu menu){
menu.add(Menu.NONE,1,Menu.NONE,"添加");
menu.add(Menu.NONE,2,Menu.NONE,"查看");
menu.add(Menu.NONE,3,Menu.NONE,"删除");
menu.add(Menu.NONE,4,Menu.NONE,"查询");
return super.onCreateOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
Intent intent=new Intent(MainActivity.this,Add.class);
startActivity(intent);
break;
case 2:
if(users[select].getId()>0){
intent=new Intent(MainActivity.this,Check.class);
intent.putExtra("Id",users[select].getId());
startActivity(intent);
}
break;
case 3:
if(users[select].getId()>0){
AlertDialog.Builder alert=new AlertDialog.Builder(this);
alert.setMessage("是否删除联系人?");
alert.setPositiveButton("是", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
ContactsTable contactsTable=new ContactsTable(MainActivity.this);
if(contactsTable.delete(users[select])){
users=contactsTable.read();
baseAdapter.notifyDataSetChanged();
select=0;
Toast.makeText(MainActivity.this,"删除成功",Toast.LENGTH_SHORT).show();
}
}
});
alert.setNegativeButton("否",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
alert.show();
}
break;
case 4:
new Find(this).show();
break;
default:break;
}
return super.onOptionsItemSelected(item);
}
public class Find extends Dialog {
public Find(Context context){
super(context);
}
public void onCreate(Bundle bundle){
super.onCreate(bundle);
setContentView(R.layout.activity_find);
Button find=(Button) findViewById(R.id.find);
Button cancel=(Button) findViewById(R.id.cancel);
find.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
EditText findedit=(EditText)findViewById(R.id.findedit);
ContactsTable contactsTable=new ContactsTable(MainActivity.this);
users=contactsTable.find(findedit.getText().toString());
baseAdapter.notifyDataSetChanged();;
select=0;
dismiss();
}
});
cancel.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
dismiss();
}
});
}
}
}
6、DB.class
package com.example.addressbook;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DB extends SQLiteOpenHelper {
private static String DB_NAME="My_DB.db";
private static int DB_VERSION=1;
private SQLiteDatabase db;
public DB(Context context) {
super(context, DB_NAME, null,DB_VERSION);
db=getWritableDatabase();
}
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
//连接数据库
public SQLiteDatabase openConnection(){
if(!db.isOpen()) {
db = getWritableDatabase();
}
return db;
}
public void closeConnection(){
try{
if(db!=null&&db.isOpen())
db.close();
}catch (Exception e){
e.printStackTrace();
}
}
//创建表
public boolean createTable(String createTableSql){
try{
openConnection();
db.execSQL(createTableSql);
}catch(Exception e){
e.printStackTrace();
return false;
}finally{
closeConnection();
}
return true;
}
//插入记录
public boolean insert(String tableName, ContentValues values){
try{
openConnection();
db.insert(tableName,null,values);
}catch(Exception e){
e.printStackTrace();
return false;
}finally{
closeConnection();
}
return true;
}
//修改记录
public boolean update(String table, ContentValues values,String whereClause,String []whereArgs){
try{
openConnection();
db.update(table, values, whereClause, whereArgs);
}catch(Exception e){
e.printStackTrace();
return false;
}finally{
closeConnection();
}
return true;
}
//删除记录
public boolean delete(String table, String deleteSql,String obj[]){
try{
openConnection();
db.delete(table, deleteSql, obj);
}catch(Exception e){
e.printStackTrace();
return false;
}finally{
closeConnection();
}
return true;
}
//查询
public Cursor find(String findSql,String obj[]){
try{
openConnection();
Cursor cursor=db.rawQuery(findSql, obj);
return cursor;
}catch(Exception e){
e.printStackTrace();
return null;
}
}
//判断表是否存在
public boolean isTableExits(String tablename){
try{
openConnection();
String str="select count(*)xcount from"+tablename;
db.rawQuery(str,null).close();
}catch(Exception e){
return false;
}finally {
closeConnection();
}
return true;
}
}
7、User.class
package com.example.addressbook;
public class User {
private String name;
private String company;
private String position;
private String phone;
private String qq;
private String address;
public int id=-1;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAddress() {
return address;
}
public String getCompany() {
return company;
}
public String getName() {
return name;
}
public String getPhone() {
return phone;
}
public String getPosition() {
return position;
}
public String getQq() {
return qq;
}
public void setAddress(String address) {
this.address = address;
}
public void setCompany(String company) {
this.company = company;
}
public void setName(String name) {
this.name = name;
}
public void setPhone(String phone) {
this.phone = phone;
}
public void setPosition(String position) {
this.position = position;
}
public void setQq(String qq) {
this.qq = qq;
}
}
8、Contacts Table.class
package com.example.addressbook;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.widget.Toast;
import java.util.Vector;
public class ContactsTable {
private String tablename="contact";
private DB db;
public ContactsTable(Context context){
db=new DB(context);
//该表不存在则创建表
if(!db.isTableExits(tablename)){
String sql="CREATE TABLE contact ("+
"Id integer primary key AUTOINCREMENT,'name' varchar ,"+
"'company' varchar,'position' varchar,'phone' varchar,'qq' varchar,"+
" 'address' varchar)";
db.createTable(sql);
}
}
//添加联系人
public boolean add(User user){
ContentValues values=new ContentValues();
values.put("name",user.getName());
values.put("company",user.getCompany());
values.put("position",user.getPosition());
values.put("phone",user.getPhone());
values.put("qq",user.getQq());
values.put("address",user.getAddress());
return db.insert("contact",values);
}
//修改联系人
public boolean update(User user){
ContentValues values=new ContentValues();
values.put("name",user.getName());
values.put("company",user.getCompany());
values.put("position",user.getPosition());
values.put("phone",user.getPhone());
values.put("qq",user.getQq());
values.put("address",user.getAddress());
return db.update("contact",values,"Id=?",new String[]{user.getId()+""});
}
//删除联系人
public boolean delete(User user){
return db.delete("contact","Id=?",new String[]{user.getId()+""});
}
//读取联系人
public User[] read(){
Vector<User> v=new Vector<User>();
Cursor cursor=null;
try{
cursor=db.find("select * from contact",null);
while(cursor.moveToNext()){
User user=new User();
user.setId(cursor.getInt(cursor.getColumnIndex("Id")));
user.setName(cursor.getString(cursor.getColumnIndex("name")));
user.setCompany(cursor.getString(cursor.getColumnIndex("company")));
user.setPosition(cursor.getString(cursor.getColumnIndex("position")));
user.setPhone(cursor.getString(cursor.getColumnIndex("phone")));
user.setQq(cursor.getString(cursor.getColumnIndex("qq")));
user.setAddress(cursor.getString(cursor.getColumnIndex("address")));
v.add(user);
}
}catch (Exception e){
e.printStackTrace();
}finally {
if(cursor!=null){
cursor.close();
}
db.closeConnection();
}
if(v.size()>0){
return v.toArray(new User[] {});
}else{
User[] users=new User[1];
User user=new User();
user.setName("无结果");
users[0]=user;
return users;
}
}
//根据id查找
public User findById(int id){
Cursor cursor=null;
try{
cursor=db.find("select * from contact where Id="+id+"",null);
if(cursor.moveToFirst()) {
User user = new User();
user.setId(cursor.getInt(cursor.getColumnIndex("Id")));
user.setName(cursor.getString(cursor.getColumnIndex("name")));
user.setCompany(cursor.getString(cursor.getColumnIndex("company")));
user.setPosition(cursor.getString(cursor.getColumnIndex("position")));
user.setPhone(cursor.getString(cursor.getColumnIndex("phone")));
user.setQq(cursor.getString(cursor.getColumnIndex("qq")));
user.setAddress(cursor.getString(cursor.getColumnIndex("address")));
return user;
}
}catch (Exception e){
e.printStackTrace();
}finally {
if(cursor!=null){
cursor.close();
}
db.closeConnection();
}
return null;
}
//查找
public User[] find(String key){
Vector<User> v=new Vector<User>();
Cursor cursor=null;
try{
cursor=db.find("select * from contact where name like"+
"'%"+key+"%' or company like '%"+key+"%' or position like '%"+key+"%'"+
"or phone like '%"+key+"%' or qq like '%"+key+"%' ",null);
while(cursor.moveToNext()){
User user=new User();
user.setId(cursor.getInt(cursor.getColumnIndex("Id")));
user.setName(cursor.getString(cursor.getColumnIndex("name")));
user.setCompany(cursor.getString(cursor.getColumnIndex("company")));
user.setPosition(cursor.getString(cursor.getColumnIndex("position")));
user.setPhone(cursor.getString(cursor.getColumnIndex("phone")));
user.setQq(cursor.getString(cursor.getColumnIndex("qq")));
user.setAddress(cursor.getString(cursor.getColumnIndex("address")));
v.add(user);
}
}catch (Exception e){
e.printStackTrace();
}finally {
if(cursor!=null){
cursor.close();
}
db.closeConnection();
}
if(v.size()>0){
return v.toArray(new User[] {});
}else{
User[] users=new User[1];
User user=new User();
user.setName("无结果");
users[0]=user;
return users;
}
}
}
9、ADD.class
package com.example.addressbook;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.Switch;
import android.widget.Toast;
public class Add extends AppCompatActivity {
private EditText name;
private EditText company;
private EditText position;
private EditText phone;
private EditText qq;
private EditText address;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add);
setTitle("添加联系人");
name=(EditText)findViewById(R.id.name);
company=(EditText)findViewById(R.id.company);
position=(EditText)findViewById(R.id.position);
phone=(EditText)findViewById(R.id.phone);
qq=(EditText)findViewById(R.id.qq);
address=(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) {
switch (item.getItemId()) {
case 1:
if (!name.getText().toString().equals("")) {
User user = new User();
user.setName(name.getText().toString());
user.setCompany(company.getText().toString());
user.setPosition(position.getText().toString());
user.setPhone(phone.getText().toString());
user.setQq(qq.getText().toString());
user.setQq(address.getText().toString());
ContactsTable contactsTable = new ContactsTable(Add.this);
if (contactsTable.add(user)) {
Toast.makeText(Add.this, "添加成功", Toast.LENGTH_SHORT).show();
finish();
} else {
Toast.makeText(Add.this, "添加失败", Toast.LENGTH_SHORT).show();
}
}
break;
case 2:finish();
break;
default:break;
}
return super.onOptionsItemSelected(item);
}
}
10、Update.class
package com.example.addressbook;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.Toast;
public class Update extends AppCompatActivity {
private EditText name;
private EditText company;
private EditText position;
private EditText phone;
private EditText qq;
private EditText address;
private User user;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add);
setTitle("修改联系人");
name=(EditText)findViewById(R.id.name);
company=(EditText)findViewById(R.id.company);
position=(EditText)findViewById(R.id.position);
phone=(EditText)findViewById(R.id.phone);
qq=(EditText)findViewById(R.id.qq);
address=(EditText)findViewById(R.id.address);
Bundle bundle=getIntent().getExtras();
int id=bundle.getInt("Id");
ContactsTable contactsTable=new ContactsTable(this);
user=contactsTable.findById(id);
name.setText(user.getName());
company.setText(user.getCompany());
position.setText(user.getPosition());
phone.setText(user.getPhone());
qq.setText(user.getPhone());
address.setText(user.getAddress());
}
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) {
switch (item.getItemId()) {
case 1:
if (!name.getText().toString().equals("")) {
user.setName(name.getText().toString());
user.setCompany(company.getText().toString());
user.setPosition(position.getText().toString());
user.setPhone(phone.getText().toString());
user.setQq(qq.getText().toString());
user.setQq(address.getText().toString());
ContactsTable contactsTable = new ContactsTable(Update.this);
if (contactsTable.update(user)) {
Toast.makeText(Update.this, "修改成功", Toast.LENGTH_SHORT).show();
finish();
} else {
Toast.makeText(Update.this, "修改失败", Toast.LENGTH_SHORT).show();
}
}
else{
Toast.makeText(Update.this, "姓名不可为空", Toast.LENGTH_SHORT).show();
}
break;
case 2:finish();
break;
default:break;
}
return super.onOptionsItemSelected(item);
}
}
11、check.class
package com.example.addressbook;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class Check extends AppCompatActivity {
private TextView name;
private TextView company;
private TextView position;
private TextView phone;
private TextView qq;
private TextView address;
private User user;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_check);
name=(TextView) findViewById(R.id.name);
company=(TextView)findViewById(R.id.company);
position=(TextView)findViewById(R.id.position);
phone=(TextView)findViewById(R.id.phone);
qq=(TextView)findViewById(R.id.qq);
address=(TextView)findViewById(R.id.address);
Bundle bundle=getIntent().getExtras();
int id=bundle.getInt("Id");
ContactsTable contactsTable=new ContactsTable(this);
user=contactsTable.findById(id);
name.setText(user.getName());
company.setText(user.getCompany());
position.setText(user.getPosition());
phone.setText(user.getPhone());
qq.setText(user.getPhone());
address.setText(user.getAddress());
}
public boolean onCreateOptionsMenu(Menu menu){
menu.add(Menu.NONE,1,Menu.NONE,"编辑");
menu.add(Menu.NONE,2,Menu.NONE,"拨打电话");
menu.add(Menu.NONE,3,Menu.NONE,"发送短信");
menu.add(Menu.NONE,4,Menu.NONE,"返回");
return super.onCreateOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
Intent intent=new Intent(Check.this,Update.class);
intent.putExtra("Id",user.getId());
startActivity(intent);
break;
case 2:
Intent call_intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:"+user.getPhone()));
call_intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(call_intent);
break;
case 3:
Uri uri = Uri.parse("smsto:" + user.getPhone());
Intent sendIntent = new Intent(Intent.ACTION_SENDTO, uri);
sendIntent.putExtra("sms_body", "");
startActivity(sendIntent);
break;
case 4:
finish();
break;
default:break;
}
return super.onOptionsItemSelected(item);
}
}