【发布时间】:2023-04-03 19:26:01
【问题描述】:
我在我的onCreate() 中有一个从数据库获取我的活动所需数据的方法,问题是当活动开始时我可以看到它被锁定,直到从数据库中获取数据,所以我会移动到一个AsyncTask。
问题是我向数据库发出多个请求,因为我必须获取多个数据,如何使用AsyncTask 来实现它?
AsyncTask 最适合这种情况吗?
我的代码如下所示:
protected void onCreate(Bundle savedInstanceState) {
LoadDataDB();
}
public void LoadDataDB() {
myDB = DataBaseHandler.getInstance(this);
listMenu = myDB.getMenu();
listTasti = myDB.getTasti();
listVarianti = myDB.getVarianti();
listPrinters = myDB.getPrinters();
if (isFamiglieEnabled) {
listFamiglie = myDB.getFamiglie();
}
if (isAYCEnabled) {
listAYCE = myDB.getAYCE();
}
}
.getMenu 等函数看起来像这样:
public ArrayList<MenuConstructor> getMenu() {
database = this.getReadableDatabase();
Cursor cursor = database.query(TABLE_MENU, null, null, null, null, null, null);
ArrayList<MenuConstructor> menuList = new ArrayList<>();
MenuConstructor contactModel;
if (cursor.getCount() > 0) {
for (int i = 0; i < cursor.getCount(); i++) {
cursor.moveToNext();
contactModel = new MenuConstructor(Integer.parseInt(cursor.getString(0)),
cursor.getString(1), cursor.getString(2),
cursor.getString(3));
menuList.add(contactModel);
}
}
cursor.close();
database.close();
return menuList;
}
【问题讨论】:
-
Would AsyncTask be the best fit for this situation?考虑到它已被弃用,可能不会
标签: java android android-asynctask