在我的应用程序中,我从服务器获得响应,并在数据库中插入从服务器响应中获取的值。以下是我的代码:
String sql = "INSERT INTO "+ tableName +" VALUES (?,?,?,?);";
DatabaseHandler dbHandler = new DatabaseHandler(context);
final SQLiteDatabase db = dbHandler.getWritableDatabase();
final SQLiteStatement statement = db.compileStatement(sql);
db.beginTransaction();
try {
statement.clearBindings();
statement.bindString(2, id);
statement.bindString(3, type);
statement.bindString(4, value);
statement.executeInsert();
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
db.close();
它在我的数据库中快速插入,但我的UI屏幕正在冻结。我尝试在AsyncTask中调用插入代码,但插入需要很长时间。能不能让我知道如何防止我的UI被阻止,还能阻止插入花费很长时间?
谢谢。
答案 0 :(得分:-1)
我不相信使用AsyncTask会花费太长时间,但如果它正在使用那么它就是一个更好的方法,那么你想要实现的目标 ..那个是" 在数据库中为UI线程上的大量数据执行插入"。
AsyncTask
制作UI
的原因,以便从{{1}}主题中删除负载。