SQLite数据库及在Android开发中的基本使用
2021/11/4 19:13:03
本文主要是介绍SQLite数据库及在Android开发中的基本使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
SQLite数据库及在Android开发中的基本使用
SQLite数据库的特点
轻量级数据库,无需搭建服务器。
SQLite环境配置
这里提供从官网下载的方法,如果有Android Studio的项目,可以跳转到本文:SQLite在Android中的应用。
1.进入sqlite官网(https://www.sqlite.org/index.html),进入Download
2.选择Windows版本下的sqlite-tools,下载压缩包
3.解压后的文件
4.进入系统环境配置界面(可在设置里面搜索),编辑环境变量
5.在系统变量的Path中添加sqlite3.exe的路径(如C:\Program Files (x86)\sqlite-tools-win32-x86-3360000)
6.进入命令行,输入sqlite3语句,测试环境是否安装成功
SQLite的常用基本操作
查看数据库
.database
打开数据库
.open 数据库文件名(后缀名为.db)
显示该数据库中的创建操作
.schema
查看数据表
.table
创建数据表(与SQL语言相同)
create table 表名(字段1 数据类型, 字段2 数据类型, ...);
SQL语言
SQL语言在这里都可以使用,如insert(),select,update()
SQLite在Android中的应用
找到sqlite3.exe
1.打开Android Studio,右上方找到SDK Manager,打开并复制SDK的路径
2.在Sdk/platform-tools目录下可以找到SQLite数据库的运行文件 sqlite3.exe,然后跟上面步骤一样配置环境变量即可。
访问数据库
1.新建一个公共类继承自SQLiteOpenHelper,建好以后需要重写构造函数,以及onCreate()和onUpgrade()两个方法
public class MyOpenHelper extends SQLiteOpenHelper { //重写构造函数 public MyOpenHelper(Context context){ super(context, "taskDB.db", null,1); //taskDB.db为数据库名,若不存在则创建 } @Override public void onCreate(SQLiteDatabase db) { String create_sql = "create table task(id INTEGER PRIMARY KEY AUTOINCREMENT, content varchar(50), status int);"; db.execSQL(create_sql); //执行SQL语句 } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
对数据库修改或插入
//新建MyOpenHelper实例,注意自己重新定义的构造函数的参数 MyOpenHelper openHelper = new MyOpenHelper(this); //通过getWritableDatabase()创建用于写数据库的实例 SQLiteDatabase writableDatabase = openHelper.getWritableDatabase(); //新建ContentValues类,用来存放插入数据库的数据 ContentValues task_item = new ContentValues(); //ContentValues.put(key, value) key需要与数据表的字段名对应 task_item.put("content", ((EditText) findViewById(R.id.Content)).getText().toString()); task_item.put("status",0); //执行插入语句 writableDatabase.insert(数据表名, nullColumnHack, ContentValues) //nullColumnHack通常为null writableDatabase.insert("task", null, task_item); //关闭数据库,减少内存资源浪费 writableDatabase.close();
读取数据库
public List<TaskItem> task_list = new ArrayList<>(); public void ReadDataBase(){ MyOpenHelper openHelper = new MyOpenHelper(this); //创建SQLiteDatabase实例并获取ReadableDatabase SQLiteDatabase read_db = openHelper.getReadableDatabase(); //使用ReadableDatabase中的游标 Cursor cursor = read_db.query("task",new String[]{"id", "content", "status"},null,null,null,null,null); //使用while语句遍历游标Cursor,将从数据库获取的数据放进list列表中 while(cursor.moveToNext()){ TaskItem task_item = new TaskItem(); //游标get方法传入的字段索引值是从0开始的 task_item.setId(cursor.getInt(0)); task_item.setContent(cursor.getString(1)); task_item.setStatus(cursor.getInt(2)); task_list.add(task_item); } //关闭游标和ReadableDatabase,减少内存资源浪费 cursor.close(); read_db.close(); } class TaskItem { private int id; private String content; private int status; public int getId() { return id; } public String getContent() { return content; } public int getStatus() { return status; } public void setId(int id) { this.id = id; } public void setContent(String content) { this.content = content; } public void setStatus(int status) { this.status = status; } }
这篇关于SQLite数据库及在Android开发中的基本使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-18android.permission.read_media_video
- 2024-01-18android_getaddrinfo failed eai_nodata
- 2024-01-18androidmo
- 2024-01-15Android下三种离屏渲染技术
- 2024-01-09Android 蓝牙使用
- 2024-01-06Android对接华为AI - 文本识别
- 2023-11-15代码安全之代码混淆及加固(Android)
- 2023-11-10简述Android语音播报TTS
- 2023-11-06Android WiFi工具类
- 2023-07-22Android开发未来的出路