Java 一次调用是否应该插入/更新/删除DAO第二个线程;“之前”;或;在;onActivityResult
我知道数据库的查询是在第二个线程上完成的,而不是在主线程上。 但是,在onActivityResult中的DisplayActivity或onActivityResult中的UserFormActivity上,当涉及较大的用户应用程序表单时,应该在哪里触发Insert/Update/Delete“RoomDatabase.databaseWriteExecutor”调用 我明白你说的是在活动时做是因为来电者的活动 Java伪代码中的路由1:在调用方DisplayActivity的onActivityResult中执行该操作:Java 一次调用是否应该插入/更新/删除DAO第二个线程;“之前”;或;在;onActivityResult,java,android,multithreading,performance,sqlite,Java,Android,Multithreading,Performance,Sqlite,我知道数据库的查询是在第二个线程上完成的,而不是在主线程上。 但是,在onActivityResult中的DisplayActivity或onActivityResult中的UserFormActivity上,当涉及较大的用户应用程序表单时,应该在哪里触发Insert/Update/Delete“RoomDatabase.databaseWriteExecutor”调用 我明白你说的是在活动时做是因为来电者的活动 Java伪代码中的路由1:在调用方DisplayActivity的onActivi
1. Enter: DisplayActivity
2. Click: Button Go to Form
3. Enter: UserFormActivity with Intent Bundel
4. Fill in: Form with Fields ['note','color','country',...]
5. Click: Save Form
6. App: Check Form Return to DisplayActivity with Parcelable Bundle
7. Enter: DisplayActivity
8. Trigger: onActivityResult
9. App: Insert/Update/Delete Data to SQLITE
10. View is updated.
是否有路由2插入数据库,然后返回路径
Java伪代码中的路由2:在UserFormActivity的OnClick中执行
1. Enter: DisplayActivity
2. Click: Button Go to Form
3. Enter: UserFormActivity with Intent Bundel
4. Fill in: Form with Fields ['note','color','country',...]
5. Click: Save Form Button
6. App: Check Form Return
7. App: Insert/Update/Delete Data to SQLITE
8. App: Return to DisplayActivity with Status
9. Enter: DisplayActivity
10. Trigger: onActivityResult adjust view depending on Status return Bundle
11. View is updated.
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
// Get ['note','color','country',...]
// Validate Input
// If all Ok add Data and End Activity
// : ? Wait for 2nd Thread to End?
mWordViewModel.insert(word);
finish();
}
})