Android studio 中使用sqlite

阅读: 评论:0

Android studio 中使用sqlite

Android studio 中使用sqlite

当在 Android Studio 中使用 SQLite 数据库时,可以遵循以下详细步骤:

android studio官网下载

 一、在项目的  文件中添加依赖项:

implementation 'androidx.sqlite:sqlite:2.2.0'

这将添加 SQLite AndroidX 库的依赖项。

二、创建一个继承自 SQLiteOpenHelper 的帮助类。此类将负责数据库的创建和管理。


public class DatabaseHelper extends SQLiteOpenHelper {private static final String DATABASE_NAME = "mydatabase.db"; // 数据库文件名称private static final int DATABASE_VERSION = 1; // 数据库版本号public DatabaseHelper(Context context) {super(context, DATABASE_NAME, null, DATABASE_VERSION);}@Overridepublic void onCreate(SQLiteDatabase db) {// 创建数据库表String createTableQuery = "CREATE TABLE newsTable (_id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, content TEXT)";db.execSQL(createTableQuery);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// 升级数据库版本if (oldVersion < newVersion) {// 执行升级操作,例如添加新的表或修改表结构}}
}

在上述代码中,我们创建了一个名为 DatabaseHelper 的类,它继承自 SQLiteOpenHelper。在构造函数中,我们指定了数据库的名称和版本号。在 onCreate() 方法中,我们执行创建数据库表的 SQL 查询。

三、在需要使用数据库的地方,创建 DatabaseHelper 对象并获取可读或可写的数据库实例:

DatabaseHelper dbHelper = new DatabaseHelper(context);
SQLiteDatabase db = WritableDatabase(); // 获取可写数据库实例
// 或者
// SQLiteDatabase db = ReadableDatabase(); // 获取可读数据库实例

在上述代码中,我们创建了 DatabaseHelper 对象,并使用 getWritableDatabase() 或 getReadableDatabase() 方法获取对应的数据库实例。

使用 SQL 查询执行数据库操作。可以使用以下方法之一执行 SQL 查询:

execSQL(String sql): 执行不需要返回结果的 SQL 查询,例如插入、更新或删除操作。

rawQuery(String sql, String[] selectionArgs): 执行并返回结果的 SQL 查询,返回一个 Cursor 对象,可以用于遍历查询结果。

  1. 插入数据:

    String insertQuery = "INSERT INTO newsTable (title, content) VALUES ('Title', 'Content')";
    db.execSQL(insertQuery);
  2. 查询数据:

    
    String selectQuery = "SELECT * FROM newsTable";
    Cursor cursor = db.rawQuery(selectQuery, null);
    if (cursor != null && veToFirst()) {do {String title = ColumnIndex("title"));String content = ColumnIndex("content"));// 处理数据} while (veToNext());
    }
    cursor.close();
  3. 更新数据:

    
    String updateQuery = "UPDATE newsTable SET title = 'New Title' WHERE _id = 1";
    db.execSQL(updateQuery);
  4. 删除数据

    
    String deleteQuery = "DELETE FROM newsTable WHERE _id = 1";
    db.execSQL(deleteQuery);
  5. db.close();

    这将释放数据库资源并关闭数据库连接。                                                                                    这些是使用 SQLite 数据库的详细步骤。你可以根据自己的需求进行更复杂的操作,比如使用参数化查询、使用 ContentValues 插入数据等。

  •  以下为我完整代码

    ample.homework;t.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;public class DatabaseHelper extends SQLiteOpenHelper {// 数据库名称和版本号private static final String DATABASE_NAME = "mydatabase.db";private static final int DATABASE_VERSION = 1;// 表名称private static final String TABLE_NAME = "newsTable";// 列名称private static final String COLUMN_ID = "_id";private static final String COLUMN_TITLE = "title";private static final String COLUMN_CONTENT = "content";public DatabaseHelper(Context context) {super(context, DATABASE_NAME, null, DATABASE_VERSION);}@Overridepublic void onCreate(SQLiteDatabase db) {// 创建数据库表String createTableQuery = "CREATE TABLE " + TABLE_NAME + "(" +COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +COLUMN_TITLE + " TEXT, " +COLUMN_CONTENT + " TEXT)";db.execSQL(createTableQuery);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// 升级数据库版本if (oldVersion < newVersion) {// 执行升级操作,例如添加新的表或修改表结构}}// 插入数据public void insertData(String title, String content) {SQLiteDatabase db = getWritableDatabase();String insertQuery = "INSERT INTO " + TABLE_NAME + " (" +COLUMN_TITLE + ", " +COLUMN_CONTENT + ") VALUES ('" +title + "', '" +content + "')";db.execSQL(insertQuery);db.close();}// 查询所有数据public Cursor getAllData() {SQLiteDatabase db = getReadableDatabase();String selectQuery = "SELECT * FROM " + TABLE_NAME;Cursor cursor = db.rawQuery(selectQuery, null);return cursor;}// 更新数据public void updateData(int id, String newTitle) {SQLiteDatabase db = getWritableDatabase();String updateQuery = "UPDATE " + TABLE_NAME + " SET " +COLUMN_TITLE + " = '" + newTitle + "' WHERE " +COLUMN_ID + " = " + SQL(updateQuery);db.close();}// 删除数据public void deleteData(int id) {SQLiteDatabase db = getWritableDatabase();String deleteQuery = "DELETE FROM " + TABLE_NAME + " WHERE " +COLUMN_ID + " = " + SQL(deleteQuery);db.close();}
    }

    最后一点关于数据库更新的注意事项。

  • 数据库版本管理:在 DatabaseHelper 类中,我们设置了数据库的版本号。每当你对数据库结构进行更改时(比如添加新表或修改表结构),都应该适当地增加版本号,并在 onUpgrade() 方法中处理升级操作。这样可以确保在应用程序更新时,旧版本的数据库可以正确地升级到新版本

  • 如若无法通过版本号更新数据库,建议更改数据库名称重新建数据库。

本文发布于:2024-01-30 04:44:18,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170656106019306.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Android   studio   sqlite
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23