2016-04-04 11 views
0

私の質問への以前の応答のためにありがとう 私はバッファにJSONArrayを持っています。私はこれらのことを言うときに間違っているかもしれないので、私を修正してください。ダウンロードしたJSONArrayをデータベースに転送する方法は?

ます。public void get_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クラスをすでに作成していますが、これに新しいものと、何か不足しているものがあります。

パブリックブールinsertData(文字列rtrname、文字列ctgname、文字列rtradd1){ SQLiteDatabase DB = this.getWritableDatabase()。 ContentValues contentValues =新しいContentValues();私は、テーブルの列に転送され、各JSONArrayノードを得ることができるように

//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は、i)は、メインクラスに何をすべき?

答えて

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); 
} 
+0

をcolumn.seeデータベースに1項目ずつコピーするには、このメソッドを使用後、あなたが、参照WRTにイムを私のデータを作るでした本当にnoob – Venky

+0

はい、ファイル全体のデータを入れてください。 –

関連する問題