android – 如何从AsyncTask获取返回值到主要活动?

我有一个类(如帮助类) – 不是一个管理soap请求的活动.我使用此类通过方法doInBAckground发送来自活动的soap请求,并通过onpostexecute捕获来自webservice的所有返回值.一切都还可以,但我的问题从这一点开始,因为我无法将返回值asynctask类传递给主类. 最佳答案 你可以使用一些实用程序类作为单例(好吧,单例是危险的模式

但它的使用在
android中是合理的,直到我们得到理智和usabel依赖注入)并在那里传递结果.

Advandatges:
    – 没有搞乱意图/序列化
    – 传递数据或调用一些methid或做任何你喜欢的事情
    – 您的所有活动共享相同的单例服务实例.

缺点:
    – 单身模式被认为是危险的

您甚至可以进一步使用您的服务单例 – 您将启动它作为异步任务的方法,然后您的活动可以通过专用方法查询结果.

或者您可以更进一步 – 在async服务中将您的活动注册为侦听器,并在准备好时调用此活动中的方法(注意:因为这不是UI线程,除非您使用runOnUiThread,否则您将无法使用UI执行某些操作()

点赞