时间:2021-07-01 10:21:17 帮助过:57人阅读
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.Toast;
public class DetailActivity extends Activity{
Cursor cursor;
MyOpenHelper db;
int id=-1;
int i;
int [] textIds={
R.id.etName,R.id.etPhone,R.id.etMobile,R.id.etEmail,R.id.etPhone,R.id.etAddr,R.id.etComp
};
EditText [] textArray;
ImageButton saveButton;
//0表示查看信息,1表示添加联系人,2表示修改联系人
int status=-1;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.detail);
final ImageButton saveBtn=(ImageButton)findViewById(R.id.ibSave);
textArray=new EditText[textIds.length];
for(int i=0;i<textIds.length;i++){
textArray[i]=(EditText)findViewById(textIds[i]);
}
Intent intent=getIntent();
status=intent.getExtras().getInt("cmd");
switch(status){
case 0:
String contants_id=intent.getExtras().getString("id");
cursor=db.getContants(contants_id);
int count=cursor.getCount();
if(count==0){
Toast.makeText(this, "对不起,没有找到指定的联系人!", Toast.LENGTH_LONG).show();
}else {
cursor.moveToFirst();
textArray[0].setText(cursor.getString(1));
textArray[1].setText(cursor.getString(2));
textArray[2].setText(cursor.getString(3));
textArray[3].setText(cursor.getString(4));
textArray[4].setText(cursor.getString(5));
textArray[5].setText(cursor.getString(6));
textArray[6].setText(cursor.getString(7));
}
cursor.close();
db.close();
break;
case 1:
for(EditText et:textArray){
et.getEditableText().clear();
}
break;
}
saveBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
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();
}else {
switch(status){
case 0:
updateContact(strArray);
break;
case 1:
insertContant(strArray);
break;
}
}
}
});
}
public void insertContant(String [] strArray){
long count = db.insertContants(strArray);
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){
int count = db.updateContants(id+"", strArray); //更新数据库
db.close();
if(count == 1){
Toast.makeText(this, "修改联系人成功!", Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(this, "修改联系人失败!", Toast.LENGTH_LONG).show();
}
}
}
运行结果:(截图)
五、实验总结(对本实验结果进行分析,实验心得体会及改进意见)
实验难度很大,本来可以运行出界面填写数据的,在对ImageButton的代码实现过程中不知道发生了什么错误,导致系统发生了崩溃。
实验评语
实验成绩
指导教师签名: 年 月 日
实验八 SQLite数据库操作
标签: