如何将下载的JSONArray传输到数据库?

时间:2016-04-04 13:44:11

标签: java sqlite android-studio

非常感谢之前对我的查询的回复 我在缓冲区中有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节点转移到表的列?

1 个答案:

答案 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);
}