创建SQLiteOpenHelper 类来创建和管理SQLite数据库

SQLite 是 Android 中用于存储数据的轻量级数据库。它是一个自包含的、无服务器的、零配置的 SQL 数据库引擎,广泛用于移动应用程序。

创建数据库

你可以通过扩展 SQLiteOpenHelper 类来创建和管理数据库。

java 复制代码
public class MyDatabaseHelper extends SQLiteOpenHelper {  
    private static final String DATABASE_NAME = "mydatabase.db";  
    private static final int DATABASE_VERSION = 1;  

    public MyDatabaseHelper(Context context) {  
        super(context, DATABASE_NAME, null, DATABASE_VERSION);  
    }  

    @Override  
    public void onCreate(SQLiteDatabase db) {  
        String CREATE_TABLE = "CREATE TABLE my_table (id INTEGER PRIMARY KEY, name TEXT)";  
        db.execSQL(CREATE_TABLE);  
    }  

    @Override  
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
        db.execSQL("DROP TABLE IF EXISTS my_table");  
        onCreate(db);  
    }  
}  

插入数据

使用 SQLiteDatabase 对象插入数据。

java 复制代码
public void insertData(String name) {  
    SQLiteDatabase db = this.getWritableDatabase();  
    ContentValues values = new ContentValues();  
    values.put("name", name);  
    db.insert("my_table", null, values);  
    db.close();  
}  

查询数据

可以使用 Cursor 对象来查询数据。

java 复制代码
public Cursor getData() {  
    SQLiteDatabase db = this.getReadableDatabase();  
    return db.rawQuery("SELECT * FROM my_table", null);  
}  

更新和删除数据

更新和删除数据也可以通过 SQLiteDatabase 对象完成。

java 复制代码
public void updateData(int id, String newName) {  
    SQLiteDatabase db = this.getWritableDatabase();  
    ContentValues values = new ContentValues();  
    values.put("name", newName);  
    db.update("my_table", values, "id = ?", new String[]{String.valueOf(id)});  
    db.close();  
}  

public void deleteData(int id) {  
    SQLiteDatabase db = this.getWritableDatabase();  
    db.delete("my_table", "id = ?", new String[]{String.valueOf(id)});  
    db.close();  
}  
相关推荐
兵慌码乱5 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
倔强的石头_21 小时前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
倔强的石头_4 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
冬奇Lab4 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence5 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神5 天前
三、用户与权限管理
数据库·mysql
麦聪聊数据6 天前
数据服务化时代:企业数据能力输出的核心路径
数据库
shushangyun_6 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
DARLING Zero two♡6 天前
【MySQL数据库】数据类型与表约束
数据库·mysql
曹牧6 天前
Oracle EXPLAIN PLAN
数据库·oracle