我对我当前的应用程序有所了解。 我有这个TabHost类有两个选项卡。 Tab1显示Listview中WS的数据。 Tab2显示与webview中的图表相同的数据。
当然,我不想两次为相同的数据调用相同的web服务,所以我想在TabHost类中进行WS调用,然后使用putExtra将数据作为JSONArray发送到我的两个选项卡。
这可能还是简单的愚蠢? 此致
答案 0 :(得分:2)
看一下这个video,讨论如何进行WebService调用和RESTful客户端。
作为一般原则,从Activity或主UI线程进行WS调用是个坏主意。当网络速度缓慢或者webService需要时间来响应时,很有可能获得ANR(应用程序无响应)。
JSON用于进行WebService调用,并且应限制使用该层。虽然没有什么能阻止你使用JSON传递数据,但我认为它是反模式或黑客攻击。
建议的方法。
将您的web服务放入IntentService类(这将确保UI线程不会阻塞)。
将响应转换为Parcelable对象,并通过意图将其发回活动。
您可以在intent.putExtra中使用此Parcelable对象来传递它。
虽然这听起来像是很多工作但它更清洁,以后会为你节省很多痛苦。关于IntentService和Parcelable的文档也有点简洁,所以你必须在StackOverflow上进行一些搜索以使其正确。