我有一个SQLite Db,它存储调用日志。每个条目都有一个编号、日期和持续时间。我已经看到了很多方法,我们可以将数据发送到应用服务器。作为一个JSON字符串,并从模型类对象的ArrayList中逐个发送。,哪个是正确的方法来接近这个?我如何从这些数据创建一个JSON,我所做的就像将这些数据发送到对象的ArrayList一样多。因为每个条目都有很多数据,所以我对如何做到这一点感到困惑。
public ArrayList<PhNumber> getCallLogs() {
ArrayList<PhNumber> callLogList;
callLogList = new ArrayList<PhNumber>();
String selectQuery = "SELECT * FROM callInfo where syncStatus = '" + "no" + "'";
SQLiteDatabase database = this.getWritableDatabase();
Cursor cursor = database.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
callLogList.add(new PhNumber(Integer.parseInt(cursor.getString(0)), cursor.getString(1),
cursor.getString(2),
cursor.getString(3),
cursor.getString(4)));
Log.e("DbHelper:getCallLogs", callLogList.toString());
} while (cursor.moveToNext());
}
return callLogList;
}发布于 2019-03-05 06:19:46
哪一种方法是正确的?
没有任何一种解决办法。这取决于您的用例场景。
为了生成JSON,您可以在ArrayList<PhNumber> callLogList中获取数据之后进行此操作
JSONArray jsonArray = new JSONArray();
for (int i = 0; i < callLogList.length(); i++) {
JSONObject jsonobject= new JSONObject();
jsonobject.put("data1",callLogList.get(i).get); //I dont know the field name of your PhNumber so fill accordingly
jsonobject.put("data2",callLogList.get(i).get);
jsonArray.put(jsonobject);
}发布于 2019-03-05 06:46:03
我建议您为此使用改造,这是一个非常容易使用的库,可以节省大量时间和代码。序列化和HTTP请求是使用Retrofit无缝处理的。
https://stackoverflow.com/questions/54996441
复制相似问题