当前位置:Gxlcms > 数据库问题 > 实验八 SQLite数据库操作

实验八 SQLite数据库操作

时间: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数据库操作

标签:

人气教程排行