我有一个类(如帮助类) – 不是一个管理soap请求的活动.我使用此类通过方法doInBAckground发送来自活动的soap请求,并通过onpostexecute捕获来自webservice的所有返回值.一切都还可以,但我的问题从这一点开始,因为我无法将返回值asynctask类传递给主类. 最佳答案 你可以使用一些实用程序类作为单例(好吧,单例是危险的模式
但它的使用在
android中是合理的,直到我们得到理智和usabel依赖注入)并在那里传递结果.
Advandatges:
– 没有搞乱意图/序列化
– 传递数据或调用一些methid或做任何你喜欢的事情
– 您的所有活动共享相同的单例服务实例.
缺点:
– 单身模式被认为是危险的
您甚至可以进一步使用您的服务单例 – 您将启动它作为异步任务的方法,然后您的活动可以通过专用方法查询结果.
或者您可以更进一步 – 在async服务中将您的活动注册为侦听器,并在准备好时调用此活动中的方法(注意:因为这不是UI线程,除非您使用runOnUiThread,否则您将无法使用UI执行某些操作()