在安卓开发中,如果要对数据库进行大量的读写操作,通常需要在单独的线程中进行,否则可能会引起界面卡顿。以下是在安卓中在子线程中加载数据库的示例代码:
// 定义一个成员变量
private SQLiteDatabase db;
// 在onCreate方法中创建数据库
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new Runnable(){
@Override
public void run() {
// 在子线程中打开或创建数据库
db = openOrCreateDatabase("test.db", MODE_PRIVATE, null);
// 使用SQL语句创建一个数据表
db.execSQL("CREATE TABLE IF NOT EXISTS person(_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20), age INTEGER, info TEXT)");
}
}).start();
}
上述代码先通过openOrCreateDatabase
函数在子线程中创建或打开一个名为”test.db”的数据库,然后通过execSQL
函数在数据库中创建一个名为”person”的表。为了避免阻塞UI线程,这些操作都在单独的子线程中执行。
请注意,虽然在上述例子中直接使用SQL语句创建数据表,但在实际开发中,建议使用针对Android SQLite的ORM库,如GreenDao、Room等,以方便管理和操作数据库。
另外,对于数据库的更复杂操作,如查询、插入、更新和删除等,也建议在额外的子线程中进行。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/171578.html