个人通讯录(三)详细界面开发类

来源:互联网 发布:thinkpad t470 知乎 编辑:程序博客网 时间:2024/06/14 08:33
package com.xxg.personal;import static wyf.wpf.MyOpenHelper.*;import android.app.Activity;import android.content.ContentValues;import android.content.Intent;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.widget.EditText;import android.widget.ImageButton;import android.widget.Toast;public class DetailActivity extends Activity{MyOpenHelper myHelper;//声明一个MyOpenHelper对象final int MENU_ADD = Menu.FIRST;//声明菜单项的编号final int MENU_MODIFY = Menu.FIRST+1;//声明菜单项的编号final int MENU_DELETE = Menu.FIRST+2;//声明菜单项的编号final int MENU_SAVE = Menu.FIRST+3;//声明菜单项的编号int id = -1;//记录当前显示的联系人idint [] textIds ={R.id.etName,R.id.etPhone,R.id.etMobile,R.id.etEmail,R.id.etPost,R.id.etAddr,R.id.etComp};EditText [] textArray;//存放界面中的EditText控件的数组ImageButton ibSave;//保存按钮int status = -1;//0表示查看信息,1表示添加联系人,2表示修改联系人View.OnClickListener myListener = new View.OnClickListener() {@Overridepublic void onClick(View v) {//保存按钮按下触发该事件String [] strArray = new String[textArray.length];for(int i=0;i<strArray.length;i++){strArray[i] = textArray[i].getText().toString().trim();//获得用户输入的信息数组}if(strArray[0].equals("") || strArray[1].equals("")){Toast.makeText(DetailActivity.this, "对不起,请将姓名和电话填写完整!", Toast.LENGTH_LONG).show();}switch(status){//判断当前的状态case 0://查询联系人详细信息时按下保存updateContact(strArray);//更新联系人信息break;case 1://新建联系人时按下保存按钮insertContact(strArray);//插入联系人信息break;}}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.detail);textArray = new EditText[textIds.length];for(int i=0;i<textIds.length;i++){textArray[i] = (EditText)findViewById(textIds[i]);}ibSave = (ImageButton)findViewById(R.id.ibSave);ibSave.setOnClickListener(myListener);myHelper = new MyOpenHelper(this, MyOpenHelper.DB_NAME, null, 1);Intent intent = getIntent();status = intent.getExtras().getInt("cmd");//读取命令类型switch(status){case 0://查看联系人的详细信息id = intent.getExtras().getInt("id");//获得要显示的联系人的idSQLiteDatabase db = myHelper.getWritableDatabase();Cursor c = db.query(MyOpenHelper.TABLE_NAME, new String[]{NAME,PHONE,MOBILE,EMAIL,POST,ADDR,COMP}, ID+"=?", new String[]{id+""}, null, null, null);if(c.getCount() == 0){//没有查询到指定的人Toast.makeText(this, "对不起,没有找到指定的联系人!", Toast.LENGTH_LONG).show();}else{//查询到了这个人c.moveToFirst();//移动到第一条记录textArray[0].setText(c.getString(0));//设置姓名框中的内容textArray[1].setText(c.getString(1));//设置固话框中的内容textArray[2].setText(c.getString(2));//设置手机号码框中的内容textArray[3].setText(c.getString(3));//设置电子邮件框中的内容textArray[4].setText(c.getString(4));//设置电子邮件框中的内容textArray[5].setText(c.getString(5));//设置电子邮件框中的内容textArray[6].setText(c.getString(6));//设置电子邮件框中的内容}c.close();db.close();break;case 1://新建详细人信息for(EditText et:textArray){et.getEditableText().clear();//清空各个EditText控件中内容}break;}}//方法:添加指定联系人public void insertContact(String [] strArray){SQLiteDatabase db = myHelper.getWritableDatabase();//获得数据库对象ContentValues values = new ContentValues();values.put(NAME, strArray[0]);values.put(PHONE, strArray[1]);values.put(MOBILE, strArray[2]);values.put(EMAIL, strArray[3]);values.put(POST, strArray[4]);values.put(ADDR, strArray[5]);values.put(COMP, strArray[6]);long count = db.insert(TABLE_NAME, ID, values);//插入数据db.close();if(count == -1){Toast.makeText(this, "添加联系人失败!", Toast.LENGTH_LONG).show();}else{Toast.makeText(this, "添加联系人成功!", Toast.LENGTH_LONG).show();}}//方法:更新某个联系人信息public void updateContact(String [] strArray){SQLiteDatabase db = myHelper.getWritableDatabase();//获得数据库对象ContentValues values = new ContentValues();values.put(NAME, strArray[0]);values.put(PHONE, strArray[1]);values.put(MOBILE, strArray[2]);values.put(EMAIL, strArray[3]);values.put(POST, strArray[4]);values.put(ADDR, strArray[5]);values.put(COMP, strArray[6]);int count = db.update(TABLE_NAME, values, ID+"=?", new String[]{id+""});//更新数据库db.close();if(count == 1){Toast.makeText(this, "修改联系人成功!", Toast.LENGTH_LONG).show();}else{Toast.makeText(this, "修改联系人失败!", Toast.LENGTH_LONG).show();}}}


原创粉丝点击