3

有没有办法以格式提交存储在 android SQLite 数据库中的数据

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

在 android 中使用 HTTP 到 PHP Web 服务器。我正在为特定交易维护一个本地数据库,在用户完成交易后,我想将这些数据提交到网络系统。有人可以帮我解决这个问题吗?

4

1 回答 1

3
  1. 将数据库的每一行转换为JSONObject并将所有行存储到JSONArray

  2. 使用 jsonArray.toString() 将 JSONArray 转换为 json 字符串并发出HTTP POST 请求。确保将 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 回答