3

androidSQLiteデータベースに保存されているデータを形式で送信する方法はありますか

--------------------------------------------
ID PRODUCT_ID AMOUNT
--------------------------------------------
1 001 4
2 008 5
3 006 2

androidでHTTPを使用してPHPWebサーバーに接続します。私は特定のトランザクション用のローカルデータベースを維持しており、ユーザーがトランザクションを完了した後、それらのデータをWebシステムに送信したいと思います。これについて誰かが私を助けてくれますか。

4

1 に答える 1

3
  1. データベースの各行をJSONObjectに変換し、すべての行をJSONArrayに格納します

  2. jsonArray.toString()を使用してJSONArrayをjson文字列に変換し、HTTPPOSTリクエストを作成します。Content-Typeパラメーターをapplication/jsonに設定してください

  3. サーバー側では、それに応じてリクエストを処理し、データベースに保存します。

注:大量のデータがある場合は、JSONオブジェクトをバッチで転送する方がよい場合があります。データベースを再構築するときに、バッチIDを示すパラメーターをリクエストに追加できます。

編集:私はあなたがカーソルをデータベースにフェッチする方法を知っていると仮定しています。

次のコードを使用できます

JSONObject jObject;
JSONArray jArray = new JSONArray()

while(cursor.moveToNext()) {

    jObject = new JSONObject();
    jObject.put("id", cursor.getInt("ID"));
    jObject.put("product_id", cursor.getString("PRODUCT_ID"));
    jObject.put("amount", cursor.getInt("AMOUNT"));
    jArray.put(jObject);

}

HTTP POSTリクエストを作成するときはjArray.toString()、配列を表すJSON文字列を取得するために実行します。お役に立てれば。

于 2012-09-22T13:21:51.277 に答える