当主机 Activity 不活动时处理数据的最佳方法是什么
what is best approch to handle data when host Activity is not active
我有四个 activity Activity1、Activity2、Activity3、Activity4。 Activity2 有一些我们需要与服务器通信的操作,这意味着我们将发送一些请求并根据请求响应。
- 我在 Activity2 中单击将与服务器通信的按钮。
- 现在我转到 Activity3 和 Activity4。
- 服务器和客户端(android 设备)之间的通信仍在后台进行。
- 当我在 Activity4 时,Activity2 后台进程完成。
- 现在我从 Activity4 回到 Activity3 和 Activity2。
- 现在我想要,响应应该出现在 Activity2 的后台进程中。
这种用例应该采用什么方法?
在活动 2 中点击按钮:
1) 使用AsynchTask
获取数据。
2) 使用 startActivityForResult 启动活动 3.
3) 和 onActivityResult
你可以检查你的结果
你可以用一个Service来实现,当你点击按钮时,你启动一个Intent到Service来启动后台任务,此时你的app和网络任务运行异步地,您可以移动到下一个活动并进行所需的一切,在 Activity 2 的 onResume 方法中,您可以使用 Intent 询问服务的状态,如果任务完成,您可以检索响应服务启动 Intent 并将其缓存到 onNewIntent 方法的 Activity 2 中。在服务中,您需要一个地方来保存任务的响应,您可以选择如何保存(SQLite、SharedPreferences、文件等)并且只检索响应。您只需要考虑在服务中处理请求、存储和检索对应用程序的响应的逻辑。
嗯,我猜的,我可以告诉你怎么处理,
1) 在 Activity 2 use seperate thread apart from UIThread
中进行服务器操作时,一旦启动并行线程将占用自己的时间,并且在服务器进程结束后使用 3 storage modes(sdcard,sqlite,sharedpref)
中的任何一个来存储你的数据 ,
2) 你可能知道一旦你的 activity 3 启动,activity2 将是 paused(onPause)
,然后是 stopped (onStop)
并且将在你的堆栈中保持活动状态,
3)一旦你从activity 3回来,使用onResume
取回保存的数据并使用它...
我有四个 activity Activity1、Activity2、Activity3、Activity4。 Activity2 有一些我们需要与服务器通信的操作,这意味着我们将发送一些请求并根据请求响应。
- 我在 Activity2 中单击将与服务器通信的按钮。
- 现在我转到 Activity3 和 Activity4。
- 服务器和客户端(android 设备)之间的通信仍在后台进行。
- 当我在 Activity4 时,Activity2 后台进程完成。
- 现在我从 Activity4 回到 Activity3 和 Activity2。
- 现在我想要,响应应该出现在 Activity2 的后台进程中。
这种用例应该采用什么方法?
在活动 2 中点击按钮:
1) 使用AsynchTask
获取数据。
2) 使用 startActivityForResult 启动活动 3.
3) 和 onActivityResult
你可以检查你的结果
你可以用一个Service来实现,当你点击按钮时,你启动一个Intent到Service来启动后台任务,此时你的app和网络任务运行异步地,您可以移动到下一个活动并进行所需的一切,在 Activity 2 的 onResume 方法中,您可以使用 Intent 询问服务的状态,如果任务完成,您可以检索响应服务启动 Intent 并将其缓存到 onNewIntent 方法的 Activity 2 中。在服务中,您需要一个地方来保存任务的响应,您可以选择如何保存(SQLite、SharedPreferences、文件等)并且只检索响应。您只需要考虑在服务中处理请求、存储和检索对应用程序的响应的逻辑。
嗯,我猜的,我可以告诉你怎么处理,
1) 在 Activity 2 use seperate thread apart from UIThread
中进行服务器操作时,一旦启动并行线程将占用自己的时间,并且在服务器进程结束后使用 3 storage modes(sdcard,sqlite,sharedpref)
中的任何一个来存储你的数据 ,
2) 你可能知道一旦你的 activity 3 启动,activity2 将是 paused(onPause)
,然后是 stopped (onStop)
并且将在你的堆栈中保持活动状态,
3)一旦你从activity 3回来,使用onResume
取回保存的数据并使用它...