我已经能够将2010年Google的IO演示文稿中的DataDroid库实施到我的Android项目中,当我有一个1-1 Activity
- {{1}时它很有用关系。但是,在我的Request
中,我需要多次调用来填充视图中的下拉框,以便用户可以选择过滤器。问题是库的结构方式并不是很明显,如何使用现有的库/回调对WS进行多个(不同的)调用。特别是,我可以设置自己的FilterSelectActivity
函数,但只有一个callThisMethodWS
签名:
onRequestFinished
现在,public void onRequestFinished(final int requestId, final int resultCode, final Bundle payload)
是由特定调用函数生成的伪随机requestId
,因此它根据其参数指示“唯一”请求,但肯定不是特定请求类型。 int
是没有用的,我不确定我可以用resultCode
做些什么,除了可能抓住额外的意图。
如果有人在他们的项目中使用多个WS调用在一个活动中实现了Bundle
,我想知道您如何区分请求,以便填充各种DataDroid
或ArrayLists
。
答案 0 :(得分:2)
我是DataDroid的开发人员,从那时起我发布了datadroid的第2版,可以更轻松地从单个Activity或Fragment发送多个请求。
我还在示例项目中添加了一个新示例(DoubleListActivity),它从同一个活动中调用了2个webservices。
答案 1 :(得分:0)
我能够通过在类中设置一些常量来识别请求类型,创建请求类型成员,将该成员设置为每个相应WS调用中的特定常量,然后在条件中使用该请求类型成员来实现此目的。在处理结果时。
答案 2 :(得分:0)
在我的应用程序中,我也需要这样的东西。我有很多活动,可以多次调用WS,有些调用可以处理超过5或6个不同的调用。
为了实现此行为,我添加了一个Request
对象,其中包含请求类型和默认onRequestFinished
回调,它将调用OnRequestSuccess, OnRequestError...
个函数。然后我有Activity
个SparseArray
个请求,实现OnRequestFinishedListener
并将所有内容重定向到正确的请求。我使用WS调用的所有活动都继承了Activity
。我最近也为片段实现了这个。