非常感谢之前对我的查询的回复 我在缓冲区中有JSONArray。当我说这些东西时我可能错了,所以请纠正我。
public void get_data(String data) {
try {
JSONArray data_array=new JSONArray(data);
for (int i = 0 ; i < data_array.length() ; i++)
{
JSONObject obj=new JSONObject(data_array.get(i).toString());
String[] nameArray;
String[] distArray;
String[] latArray;
nameArray[i] = (data_array.getJSONObject(i).getString("rtrname"));
distArray[i] = (data_array.getJSONObject(i).getString("ctgname"));
latArray[i] = (data_array.getJSONObject(i).getString("rtrphone"));
//lonArray[i] = (data_array.getJSONObject(i).getString("longitude"));
}
//adapter.notifyDataSetChanged();
} catch (JSONException e) {
e.printStackTrace();
}
现在不是将这些数据传输到nameArray [i],所以我应该怎么做才能将它传输到数据库(SQLite)。我已经创建了一个DBHlper.java类来处理它,但是我刚接触到它这个,我错过了一些东西。
public boolean insertData(String rtrname,String ctgname,String rtradd1){ SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues();
//contentValues.put(COL_2,rtrphoneno);
contentValues.put(COL_2,ctgname);
contentValues.put(COL_3, rtrname);
contentValues.put(COL_4, rtradd1);
long result = db.insert(TABLE_NAME,null ,contentValues);
if(result == -1)
return false;
else
return true;
1)我应该在主类中做什么,以便我可以将每个JSONArray节点转移到表的列?
答案 0 :(得分:0)
使用以下方式
for (int i = 0 ; i < data_array.length() ; i++)
{
JSONObject obj=new JSONObject(data_array.get(i).toString());
String[] nameArray;
String[] distArray;
String[] latArray;
nameArray[i] = (data_array.getJSONObject(i).getString("rtrname"));
distArray[i] = (data_array.getJSONObject(i).getString("ctgname"));
latArray[i] = (data_array.getJSONObject(i).getString("rtrphone"));
//lonArray[i] = (data_array.getJSONObject(i).getString("longitude"));
db.insert(nameArray[i],distArray[i],latArray[i]);
}
//我使用此方法在数据库列中逐个复制项目。查看我的源代码
// results is arrayList
for(int ij=0; ij<results.size(); ij++)
{
//First four is static value
mb.insertEntry(1,1,1, 1, results.get(ij).item, "1", results.get(ij).price, results.get(ij).price);
}