我有四个活动Activity1,Activity2,Activity3,Activity4。 Activity2有一些操作,我们需要与服务器通信,这意味着我们将发送一些请求,并根据请求响应将来。
这种用例应该采用什么方法。?
答案 0 :(得分:1)
在Activity2 On按钮上单击:
1)使用AsynchTask
获取数据。
2)使用startActivityForResult启动activity3。
3)和onActivityResult
您可以查看结果
答案 1 :(得分:0)
您可以使用Service创建它,当您单击按钮时,您启动Intent到服务以启动后台任务,此时您的应用程序和网络任务异步运行,您可以移动到在Activity 2的onResume方法中,您可以使用Intent询问服务的状态,如果任务完成正常,您可以检索启动Intent的服务的响应并将其缓存到onNewIntent方法的活动2。在服务中,您需要一个地方来保存任务的响应,您可以选择如何执行(SQLite,SharedPreferences,Files等)并仅检索响应。您只需要在处理服务中的请求的逻辑中思考,存储并检索对应用程序的响应。
答案 2 :(得分:0)
嗯我的猜测,我可以告诉你如何处理它,
1)在活动2 use seperate thread apart from UIThread
中进行服务器操作时,一旦启动,并行线程将花费自己的时间,并在服务器进程过后使用任何3 storage modes(sdcard,sqlite,sharedpref)
存储您的数据,
2)您可能知道,一旦您的活动3开始,活动2将是paused(onPause)
,然后stopped (onStop)
并且将在您的堆叠中保持活动状态,
3)一旦你从活动3回来,使用onResume
收回保存的数据并使用它......