如何从异步Web服务返回和通知数据

时间:2014-08-17 12:47:58

标签: android web-services asynchronous

我正在为Android API8开发一个应用程序 这个应用程序基本上是4个页面的选择(只是一个ListView)和一个带有网页的最终页面,它依赖于以前的选择:每个页面都是一个webservice请求返回的项目列表,由一个特定的查询查询一个URL +参数(REST POST) 我最初的想法是让一些活动访问一个公共的Protocol类:这个类有一些公共成员(GetPage1Items(),GetPage2Items(),..)每个都创建一个合适的URL并运行一个公共的SendRequest()函数,发送和接收HTTP数据。此函数可以基于AsyncTask实现 主要活动应调用其中一个公共协议功能,并等待使用ProgressDialog进行回复。

我的问题是:

 - how to notify to the activity that the data is ready in the Protocol class?  
 - how to have a common Protocol class for all the activities? (I should pass the class to every activity..)  

或者更好的方法是让ProtocolBase抽象类具有公共HTTP协议例程和一组可覆盖的函数来实现每个不同的请求(对于Page1,Page2,...)。每个活动都应该实现一个专门的ProtocolBase类。顺便说一下,我应该保留一个我需要包含在每个请求中的初始令牌:我该如何处理它(静态)?再次,如何通知数据准备好了?
也许在onPostExecute()里面我应该访问ListView将数据传递给它的Adapter?

由于

1 个答案:

答案 0 :(得分:1)

创建一个公共的AsyncTask类并定义一个接口并让你的活动实现那些接口,并且在asynteask的onpostexecute中我们将回调接口方法,以供参考Check this link

希望它有所帮助!!!

相关问题