SQLite是一种轻量级的关系型数据库,适用于移动设备或嵌入式设备的本地存储。在Android开发中,SQLite是一种常用的本地数据库方案,它提供了简单易用的接口来进行数据库操作。
开始
首先,在你的Android项目中添加对SQLite的依赖。在build.gradle
文件中添加以下代码:
implementation 'androidx.sqlite:sqlite:2.1.0'
然后,在你的Java类中导入必要的包:
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
创建数据库和数据表
要使用SQLite进行本地数据库操作,首先需要创建一个数据库以及相应的数据表。我们可以创建一个继承自SQLiteOpenHelper
的helper类来处理这些操作。在你的代码中添加以下类:
public class DBHelper extends SQLiteOpenHelper {
// 数据库名称和版本
private static final String DATABASE_NAME = "my_database.db";
private static final int DATABASE_VERSION = 1;
// 数据表名称和列名
private static final String TABLE_NAME = "my_table";
private static final String COLUMN_ID = "id";
private static final String COLUMN_NAME = "name";
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建数据表
String createTableQuery = "CREATE TABLE " + TABLE_NAME + " (" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_NAME + " TEXT)";
db.execSQL(createTableQuery);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 更新数据库
String dropTableQuery = "DROP TABLE IF EXISTS " + TABLE_NAME;
db.execSQL(dropTableQuery);
onCreate(db);
}
}
执行数据库操作
现在,我们已经准备好进行数据库操作了。在你的代码中,实例化DBHelper
类,并通过它获取一个可写的数据库实例。然后,你可以使用SQLiteDatabase
类的方法来执行常见的数据库操作,例如插入、查询、更新和删除。
以下是一些常见的数据库操作示例:
插入数据
DBHelper dbHelper = new DBHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(DBHelper.COLUMN_NAME, "John Doe");
long newRowId = db.insert(DBHelper.TABLE_NAME, null, values);
查询数据
DBHelper dbHelper = new DBHelper(context);
SQLiteDatabase db = dbHelper.getReadableDatabase();
String[] projection = {DBHelper.COLUMN_ID, DBHelper.COLUMN_NAME};
String selection = DBHelper.COLUMN_NAME + " = ?";
String[] selectionArgs = {"John Doe"};
Cursor cursor = db.query(DBHelper.TABLE_NAME, projection, selection, selectionArgs, null, null, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndexOrThrow(DBHelper.COLUMN_ID));
String name = cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.COLUMN_NAME));
// 处理查询结果
}
cursor.close();
更新数据
DBHelper dbHelper = new DBHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(DBHelper.COLUMN_NAME, "Jane Smith");
String selection = DBHelper.COLUMN_NAME + " LIKE ?";
String[] selectionArgs = {"John Doe"};
int count = db.update(DBHelper.TABLE_NAME, values, selection, selectionArgs);
删除数据
DBHelper dbHelper = new DBHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
String selection = DBHelper.COLUMN_NAME + " LIKE ?";
String[] selectionArgs = {"John Doe"};
int count = db.delete(DBHelper.TABLE_NAME, selection, selectionArgs);
以上只是一些SQLite的基本使用方法,你可以根据自己的需求进行更复杂的数据库操作。
总结
通过使用SQLite进行Android本地数据库操作,你可以方便地在移动设备上存储和检索数据。在本文中,我们简要介绍了使用SQLite的基本步骤,包括创建数据库、执行插入、查询、更新和删除等操作。
希望这篇文章对你在Android开发中使用SQLite进行本地数据库操作有所帮助!
本文来自极简博客,作者:薄荷微凉,转载请注明原文链接:使用SQLite进行安卓本地数据库操作