机器人putExtra

时间:2011-02-23 08:06:19

标签: android android-intent

我对我当前的应用程序有所了解。 我有这个TabHost类有两个选项卡。 Tab1显示Listview中WS的数据。 Tab2显示与webview中的图表相同的数据。

当然,我不想两次为相同的数据调用相同的web服务,所以我想在TabHost类中进行WS调用,然后使用putExtra将数据作为JSONArray发送到我的两个选项卡。

这可能还是简单的愚蠢? 此致

1 个答案:

答案 0 :(得分:2)

看一下这个video,讨论如何进行WebService调用和RESTful客户端。

作为一般原则,从Activity或主UI线程进行WS调用是个坏主意。当网络速度缓慢或者webService需要时间来响应时,很有可能获得ANR(应用程序无响应)。

JSON用于进行WebService调用,并且应限制使用该层。虽然没有什么能阻止你使用JSON传递数据,但我认为它是反模式或黑客攻击。

建议的方法。

  1. 将您的web服务放入IntentService类(这将确保UI线程不会阻塞)。

  2. 将响应转换为Parcelable对象,并通过意图将其发回活动。

  3. 您可以在intent.putExtra中使用此Parcelable对象来传递它。

  4. 虽然这听起来像是很多工作但它更清洁,以后会为你节省很多痛苦。关于IntentService和Parcelable的文档也有点简洁,所以你必须在StackOverflow上进行一些搜索以使其正确。