2

私のアプリでは、処理のために大きなデータセットをサーバーに送り返す必要があります。ksoap通常のxmlプロパティと属性を使用してサーバーからものを取得するためにすべてのリクエストに使用していますが、1回の呼び出しでデータセットを使用して情報を送信する必要があります。

ksoapこのプロセス全体を簡単にする Androidのライブラリに何かありますか?

基本的に今、私はこれらすべてのヘッダー、タグ、およびshcemaを使用してこの巨大な文字列を作成しています

例:

String header = "<mmAps diffgr:id=\"mmApps"+String.valueOf(count)+"\" msdata:rowOrder=\"0\" diffgr:hasChanges=\"inserted\">\n";
String ecmmaID = "<ECMMAID>"+c.getString(c.getColumnIndex(Apparatus.APP_ECMMAID))+"</ECMMAID>\n";
etc..

String datasetToSend = header+ecmmaID+....;

そして、大きな文字列でリクエストを渡します

これを行うための簡単な方法がいくつかあることを教えてください。

また、データセットから変更することは、私の制御範囲外であるため、可能ではありません

4

1 に答える 1

2

JSON は、KSOAP で簡単に使用できる最適なオプションです。これは構造化され、生成された文字列よりもはるかに優れています。

1. Android とサーバー (C#.Net、Java など) で同一の Model クラスを作成します。

// In Android
class MyData {
    String someThing;
    public getSomeThing() {}
    //...
}

2.モデルクラスを使用して、そのデータセットをandroidのJSONArrayにエンコードします

// Create JSON Objects in loop for entire dataset
JsonObject jo = new JsonObject();
jo.add(myData.getSomthing());
// Add all JSON Objects in JSONArray
JSONArray jArray = new JSONArray();
jArray.add(jo);

3. KSOAP を使用して、この JSON を文字列として送信します。

String toSendViaKsoap = jArray.toString();

4. その文字列を json からサーバー上のモデル クラスのリストにデコードします。

サーバー言語に応じて、その文字列をデコードし、手順 1 の同様のクラスのオブジェクトを母国語でここに作成し、好きなことを行います。.NET サーバー アプリケーションをお持ちの場合は、json のサポートを含め、json をコード化するための無料のライブラリがたくさんあります。しかし、私はこれを好みます

お役に立てれば..:)

于 2013-04-04T12:24:44.517 に答える