Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 一次调用是否应该插入/更新/删除DAO第二个线程;“之前”;或;在;onActivityResult_Java_Android_Multithreading_Performance_Sqlite - Fatal编程技术网

Java 一次调用是否应该插入/更新/删除DAO第二个线程;“之前”;或;在;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

我知道数据库的查询是在第二个线程上完成的,而不是在主线程上。 但是,在onActivityResult中的DisplayActivity或onActivityResult中的UserFormActivity上,当涉及较大的用户应用程序表单时,应该在哪里触发Insert/Update/Delete“RoomDatabase.databaseWriteExecutor”调用

我明白你说的是在活动时做是因为来电者的活动

Java伪代码中的路由1:在调用方DisplayActivity的onActivityResult中执行该操作:

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();
  }
})