保姆级【快数学会Android端数据库存储】+实践案例!!!

环境配置

参考往期文章

SQL常见代码语句

了解数据库的知识点(增、删、改、查)

数据库的增删改查(CRUD)是数据库操作的核心功能,下面我将分别介绍这些基本操作的概念和常用SQL语句。

1. 增加数据(Create/Insert)

基本语法

INSERT INTO 表名 (字段1, 字段2, ...) 
VALUES (值1, 值2, ...);

示例

-- 向学生表插入一条记录
INSERT INTO students (id, name, age, gender) 
VALUES (1, '张三', 20, '男');

-- 插入多行数据
INSERT INTO students (id, name, age, gender) 
VALUES 
(2, '李四', 21, '女'),
(3, '王五', 19, '男');

2. 查询数据(Read/Select)

基本语法

SELECT 字段1, 字段2, ... 
FROM 表名 
[WHERE 条件] 
[ORDER BY 排序字段] 
[LIMIT 数量];

示例

-- 查询所有学生信息
SELECT * FROM students;

-- 查询特定条件的学生
SELECT name, age FROM students WHERE age > 20;

-- 排序查询
SELECT * FROM students ORDER BY age DESC;

-- 分页查询
SELECT * FROM students LIMIT 10 OFFSET 20;

3. 更新数据(Update)

基本语法

UPDATE 表名 
SET 字段1=值1, 字段2=值2, ...
WHERE 条件;

示例

-- 更新特定学生的年龄
UPDATE students SET age = 22 WHERE id = 1;

-- 批量更新
UPDATE students SET status = '毕业' WHERE grade = 2023;

4. 删除数据(Delete)

基本语法

DELETE FROM 表名 WHERE 条件;

示例

-- 删除特定学生记录
DELETE FROM students WHERE id = 3;

-- 删除所有毕业学生
DELETE FROM students WHERE status = '毕业';

数据库存储

<1>创建工程

        创建的工程名为example_demo3

<2>SQLite数据库的创建

上述代码讲解

  • 定义了一个名为 MyHelper 的类

  • 继承自 SQLiteOpenHelper,这是 Android 提供的用于简化 SQLite 数据库操作的辅助类

  • public class MyHelper extends SQLiteOpenHelper {

  • 构造函数接收一个 Context 参数(上下文对象)

  • 调用父类构造函数 super() 并传入四个参数:

    1. context - 应用上下文

    2. "studio.db" - 数据库文件名

    3. null - 可选的 CursorFactory(通常为 null)

    4. 1 - 数据库版本号(从1开始)

  • public MyHelper(@Nullable Context context) {
        super(context, "studio.db", null, 1);
    }

  • 当数据库第一次创建时调用

  • 执行 SQL 语句创建表 information,包含三个字段:

    • _id:整数类型的主键,自动递增

    • name:可变长度字符串,最大20个字符

    • age:整数类型

  • 这个方法只会在数据库第一次创建时执行一次

  • @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE information(_id INTEGER PRIMARY KEY AUTOINCREMENT,name VARCHAR(20),age INTEGER)");
    }

  • 当数据库需要升级时调用(即版本号增加时)

  • 当前实现为空,表示不执行任何升级操作

  • 在实际应用中,通常会在这里处理数据库架构的变更,如添加/删除表、修改表结构等

  • @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }

<3>控件触发实现对数据库插入数据

MyHelper helper = new MyHelper(this);

        Button btn = findViewById(R.id.button);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //写数据
                SQLiteDatabase db = helper.getWritableDatabase();
                ContentValues values = new ContentValues();
                values.put("name","张三");
                values.put("age","21");
                db.insert("information",null,values);
            }
        });

<4>数据库存入数据结果乱码转换

若下载错误Plugins,则可在marketplace中下载(不要盲目进行删除操作

<5>实现最终效果

按一次按键传入一条相关的数据

对上次案例进行补充完善

在上次(参考往期博客)的智慧橙园代码中,添加了对账号密码的保存显示功能,记住密码后第二次登录无需输入。

相关代码已传入资源中,可根据需求自行获取。

感谢各位读者的阅读!希望大家给出一键三连,多多支持原创。有错误和不解的地方,欢迎各位读者在评论区讨论,我也会不断学习不断改进,做出更加优质的作品!!!

最后相关代码已传入资源中,可根据需求自行获取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

花开月满西楼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值