1

私は 2010 年の Google の IO プレゼンテーションから DataDroid ライブラリを私の Android プロジェクトにハックして実装することができました。ただし、私のビューでは、ユーザーがフィルターを選択できるように、ビューのドロップダウン ボックスを埋めるために複数の呼び出しを行う必要があります。問題は、ライブラリが構造化されている方法で、既存のライブラリ/コールバックを使用して WS に対して複数の (異なる) 呼び出しを行う方法がすぐにはわからないことです。特に、独自の関数をセットアップできますが、署名は 1 つしかありません。ActivityRequestFilterSelectActivitycallThisMethodWSonRequestFinished

public void onRequestFinished(final int requestId, final int resultCode, final Bundle payload)

ここで、requestIdは特定の呼び出し関数によって生成される疑似乱数intであるため、そのパラメーターに関して「一意の」要求を示しますが、特定の要求タイプではないことは確かです。役に立たないので、意図を余分につかむ以外resultCodeに何ができるかわかりません。Bundle

1 つのアクティビティで複数の WS 呼び出しを使用してプロジェクトに実装DataDroidした人がいる場合は、さまざまなArrayListsまたはArrayAdapters.

4

3 に答える 3

2

私は DataDroid の開発者であり、それ以来、単一のアクティビティまたはフラグメントから複数のリクエストをより簡単に送信できるバージョン 2 の datadroid をリリースしました。

同じアクティビティから 2 つの Web サービスを呼び出す新しいサンプル (サンプル プロジェクトのDoubleListActivity )も追加しました。

于 2013-04-26T16:35:46.990 に答える
0

私のアプリでも、このようなものが必要でした。WS への複数の呼び出しを行うことができるアクティビティがたくさんあります。一部のアクティビティでは、5 つまたは 6 つ以上の異なる呼び出しを処理する必要があります。

この動作を実装するために、関数を呼び出すRequestリクエスト タイプとデフォルトのonRequestFinishedコールバックを含むオブジェクトを追加しました。OnRequestSuccess, OnRequestError...次に、すべてを実装しActivityて正しいリクエストにリダイレクトするリクエストがあります。WS 呼び出しを使用したすべてのアクティビティは、それを継承します。最近、フラグメントにもこれを実装しました。SparseArrayOnRequestFinishedListenerActivity

于 2012-08-02T16:13:45.187 に答える
0

クラスにいくつかの定数を設定してリクエスト タイプを識別し、リクエスト タイプ メンバーを作成し、そのメンバーをそれぞれの WS 呼び出しで特定の定数に設定し、処理の条件でそのリクエスト タイプ メンバーを使用することで、これを達成できました。結果の。

于 2012-04-17T19:41:38.710 に答える