我想为我的通话记录详细信息创建一个json格式,如下所示,并将其发送到android中的服务器:
{ “Calllogs”:{
“logdata”:[
{ “ID”: “9791”, “数字”: “+ 919122185954”, “持续时间”: “0” 时, “类型”: “3”, “日期”: “1425887846182”, “名”: “WW”} , {
“ID”: “9790”, “数字”: “+ 91712222777”, “持续时间”: “32”, “类型”: “1”, “日期”: “1425880324221”, “名”: “Dpika”} : : : :
]}}
但是当我使用下面的代码以json格式获取所有调用日志详细信息并将其发送到服务器时,我得到一个非常不寻常的错误,例如当我发送30个联系人时它工作正常但是当我获取超过我得到一个错误????
代码:
public void GetCallLogs()
{
JSONObject main= new JSONObject();
JSONObject calllogs = new JSONObject();
JSONArray logs = new JSONArray();
Cursor cur = getContentResolver().query(Uri.parse("content://call_log/calls"),null, null, null, "_ID DESC");
cur.moveToFirst();
int nameColumn = cur.getColumnIndex(CallLog.Calls.CACHED_NAME);
int numberColumn = cur.getColumnIndex(CallLog.Calls.NUMBER);
int dateColumn = cur.getColumnIndex(CallLog.Calls.DATE);
int duretion = cur.getColumnIndex(CallLog.Calls.DURATION);
int type = cur.getColumnIndex(CallLog.Calls.TYPE);
int id = cur.getColumnIndex(CallLog.Calls._ID);
int i=0;
JSONObject studenti = new JSONObject();
while (!cur.isAfterLast() && i < 50) {
String name = cur.getString(nameColumn);
String number = cur.getString(numberColumn);
String date = cur.getString(dateColumn);
String duration = cur.getString(duretion);
String types = cur.getString(type);
String ids = cur.getString(id);
try {
studenti.put("id", ids);
studenti.put("name",name);
studenti.put("date", date);
studenti.put("duration", duration);
studenti.put("types", types);
studenti.put("number", number);
Log.d("HERE IN FETCHCALL", "name"+name);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
logs.put(studenti);
studenti = new JSONObject();
cur.moveToNext();
i++;
}
try {
calllogs.put("logdata", logs);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
main.put("Calllogs", calllogs);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
答案 0 :(得分:0)
由于您没有提供足够的信息,我必须假设您要使用以下代码创建JSON文件:
name
number
date
duration
types
ids
我已使用此link为JSON
创建ListView
个文件。