文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

android studio数据存储建立SQLite数据库怎么实现增删查改

2023-06-22 04:18

关注

今天就跟大家聊聊有关android studio数据存储建立SQLite数据库怎么实现增删查改,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

实验目的:

分别使用sqlite3工具和Android代码的方式建立SQLite数据库。在完成建立数据库的工作后,编程实现基本的数据库操作功能,包括数据的添加、删除和更新。

实验要求:

实验效果:

android studio数据存储建立SQLite数据库怎么实现增删查改

工程结构:

android studio数据存储建立SQLite数据库怎么实现增删查改

源代码:

DBAdapter.java

package com.example.shiyan6_sqlite;import android.annotation.SuppressLint;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteException;import android.database.sqlite.SQLiteOpenHelper;import android.database.sqlite.SQLiteDatabase.CursorFactory;public class DBAdapter { private static final String DB_NAME = "student.db"; private static final String DB_TABLE = "peopleinfo"; private static final int DB_VERSION = 1; public static final String KEY_ID = "_id"; public static final String KEY_NAME = "name"; public static final String KEY_BANJI = "banji"; public static final String KEY_XUEHAO = "xuehao"; private SQLiteDatabase db; private final Context context; private DBOpenHelper dbOpenHelper; public DBAdapter(Context _context) {  context = _context; } public void close() {  if(db !=null)  {   db.close();   db=null;  } } public void open() throws SQLiteException {  dbOpenHelper = new DBOpenHelper(context, DB_NAME, null, DB_VERSION);  try {   db = dbOpenHelper.getWritableDatabase();  }  catch (SQLiteException ex) {   db = dbOpenHelper.getReadableDatabase();  } } public long insert(People people) {  ContentValues newValues = new ContentValues();  newValues.put(KEY_NAME, people.Name);  newValues.put(KEY_BANJI, people.Banji);  newValues.put(KEY_XUEHAO, people.Xuehao);  return db.insert(DB_TABLE, null, newValues); } public People[] queryAllData() {  Cursor results =  db.query(DB_TABLE, new String[] { KEY_ID, KEY_NAME, KEY_BANJI, KEY_XUEHAO},    null, null, null, null, null);  return ConvertToPeople(results); } public People[] queryOneData(long id) {  Cursor results =  db.query(DB_TABLE, new String[] { KEY_ID, KEY_NAME, KEY_BANJI, KEY_XUEHAO},    KEY_ID + "=" + id, null, null, null, null);  return ConvertToPeople(results); } @SuppressLint("Range") private People[] ConvertToPeople(Cursor cursor){  int resultCounts = cursor.getCount();  if (resultCounts == 0 || !cursor.moveToFirst()){   return null;  }  People[] peoples = new People[resultCounts];  for (int i = 0 ; i<resultCounts; i++){   peoples[i] = new People();   peoples[i].ID = cursor.getInt(0);   peoples[i].Name = cursor.getString(cursor.getColumnIndex(KEY_NAME));   peoples[i].Banji = cursor.getString(cursor.getColumnIndex(KEY_BANJI));   peoples[i].Xuehao = cursor.getString(cursor.getColumnIndex(KEY_XUEHAO));   cursor.moveToNext();  }  return peoples; } public long deleteAllData() {  return db.delete(DB_TABLE, null, null); } public long deleteOneData(long id) {  return db.delete(DB_TABLE,  KEY_ID + "=" + id, null); } public long updateOneData(long id , People people){  ContentValues updateValues = new ContentValues();  updateValues.put(KEY_NAME, people.Name);  updateValues.put(KEY_BANJI, people.Banji);  updateValues.put(KEY_XUEHAO, people.Xuehao);  return db.update(DB_TABLE, updateValues,  KEY_ID + "=" + id, null); } private static class DBOpenHelper extends SQLiteOpenHelper {  public DBOpenHelper(Context context, String name, CursorFactory factory, int version) {   super(context, name, factory, version);  }  private static final String DB_CREATE = "create table " +    DB_TABLE + " (" + KEY_ID + " integer primary key autoincrement, " +    KEY_NAME+ " text not null, " + KEY_BANJI+ " text not null," + KEY_XUEHAO + " text not null);";  @Override  public void onCreate(SQLiteDatabase _db) {   _db.execSQL(DB_CREATE);  }  @Override  public void onUpgrade(SQLiteDatabase _db, int _oldVersion, int _newVersion) {   _db.execSQL("DROP TABLE IF EXISTS " + DB_TABLE);   onCreate(_db);  } }}

People.java

package com.example.shiyan6_sqlite;public class People { public int ID = -1; public String Name; public String Banji; public String Xuehao; @Override public String toString(){  String result = "";  result += "ID:" + this.ID + ",";  result += "姓名:" + this.Name + ",";  result += "班级:" + this.Banji + ", ";  result += "学号:" + this.Xuehao;  return result; }}MainActivity.javapackage com.example.shiyan6_sqlite;import androidx.appcompat.app.AppCompatActivity;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class MainActivity extends AppCompatActivity {    EditText e_xm,e_nl,e_sg,e_id;    TextView t_1;    Button b_add,b_allsee,b_clearsee,b_alldel,b_delid,b_seeid,b_updid;    DBAdapter dbAdapter;    SQLiteDatabase db;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        e_xm=findViewById(R.id.e_xm);        e_nl=findViewById(R.id.e_nl);        e_sg=findViewById(R.id.e_sg);        b_add=findViewById(R.id.b_add);        b_allsee=findViewById(R.id.b_allsee);        b_clearsee=findViewById(R.id.b_clearall);        b_alldel=findViewById(R.id.b_delall);        b_delid=findViewById(R.id.b_delid);        b_seeid=findViewById(R.id.b_seeid);        b_updid=findViewById(R.id.b_updid);        e_id=findViewById(R.id.e_id);        t_1=findViewById(R.id.t_1);        dbAdapter=new DBAdapter(this);        dbAdapter.open();        b_add.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                People t=new People();                t.Name=e_xm.getText().toString();                t.Banji=e_nl.getText().toString();                t.Xuehao=e_sg.getText().toString();                long colunm=dbAdapter.insert(t);                if (colunm == -1 ){                    t_1.setText("添加过程错误!");                } else {                    t_1.setText("成功添加数据,ID:"+String.valueOf(colunm));                }            }        });        b_allsee.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                People [] peoples =dbAdapter.queryAllData();                if (peoples == null){                    t_1.setText("数据库中没有数据");                    return;                }                String t="数据库:\n";                for(int i=0;i<peoples.length;++i){                    t+=peoples[i].toString()+"\n";                }                t_1.setText(t);            }        });        b_clearsee.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                t_1.setText("");            }        });        b_alldel.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                dbAdapter.deleteAllData();                t_1.setText("已删除所有数据!");            }        });        b_delid.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                int id=Integer.parseInt(e_id.getText().toString());                long result=dbAdapter.deleteOneData(id);                String msg = "删除ID为"+e_id.getText().toString()+"的数据" + (result>0?"成功":"失败");                t_1.setText(msg);            }        });        b_seeid.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                int id=Integer.parseInt(e_id.getText().toString());                People people[]=dbAdapter.queryOneData(id);                if(people==null){                    t_1.setText("Id为"+id+"的记录不存在!");                }                else{                    t_1.setText("查询成功:\n"+people[0].toString());                }            }        });        b_updid.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                int id=Integer.parseInt(e_id.getText().toString());                People t=new People();                t.Name=e_xm.getText().toString();                t.Banji=e_nl.getText().toString();                t.Xuehao=e_sg.getText().toString();                long n=dbAdapter.updateOneData(id,t);                if (n<0){                    t_1.setText("更新过程错误!");                } else {                    t_1.setText("成功更新数据,"+String.valueOf(n)+"条");                }            }        });    }    @Override    protected void onStop() {        super.onStop();        dbAdapter.close();    }}

看完上述内容,你们对android studio数据存储建立SQLite数据库怎么实现增删查改有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯