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;
    }
}
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚风也很浪漫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值