创建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();  
}  
相关推荐
时差95333 分钟前
【面试题】Hive 查询:如何查找用户连续三天登录的记录
大数据·数据库·hive·sql·面试·database
让学习成为一种生活方式35 分钟前
R包下载太慢安装中止的解决策略-R语言003
java·数据库·r语言
秋意钟1 小时前
MySQL日期类型选择建议
数据库·mysql
Dxy12393102162 小时前
python下载pdf
数据库·python·pdf
桀桀桀桀桀桀2 小时前
数据库中的用户管理和权限管理
数据库·mysql
superman超哥4 小时前
04 深入 Oracle 并发世界:MVCC、锁、闩锁、事务隔离与并发性能优化的探索
数据库·oracle·性能优化·dba
用户8007165452004 小时前
HTAP数据库国产化改造技术可行性方案分析
数据库
engchina4 小时前
Neo4j 和 Python 初学者指南:如何使用可选关系匹配优化 Cypher 查询
数据库·python·neo4j
engchina4 小时前
使用 Cypher 查询语言在 Neo4j 中查找最短路径
数据库·neo4j
尘浮生4 小时前
Java项目实战II基于Spring Boot的光影视频平台(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·maven·intellij-idea