2016-12-28 8 views
0

私は、arraylistアイテムではなく、arraylistアイテムのサイズをデータベースクラスから戻しています。ここまでのことは、データベースからアイテムを1つしか取得できません。データベースのすべてのアイテムを取得していません

MainActivity Databaseクラスの

//inside oncreate 
List<Integer> id=new ArrayList<>(); 
List<Integer> retrieve_id=new ArrayList<>(); 

for(int i=0;i<300;i++){ 
    id.add(i); 
} 
database.addAll(id); 

//method to get all data 
public void getData(){ 

    List<Integer> id=new ArrayList<>(); 
    id=database.getAllData(); 
    Log.e("Returned size:",""+id.size()); 
} 

 public static final String TABLE_NAME ="IdHelper"; 
     public static final String ID="id"; 
     public static final String CREATE_TABLE_ID = "CREATE TABLE " 
       + TABLE_NAME 
       + " (" 
       + ID 
       + " INTEGER) "; 
     public static final String DROP_TABLE_ID = "DROP TABLE IF EXISTS " + TABLE_NAME; 
     public static final String SELECT_ALL_ID = "select * from " + TABLE_NAME_ID + ";"; 


    public boolean addAll(List<Integer> id){ 

     SQLiteDatabase db = this.getWritableDatabase(); 
     db.execSQL(DROP_TABLE_ID); 
     db.execSQL(CREATE_TABLE_ID); 
     ContentValues values = new ContentValues(); 

     for(int i=0;i<id.size();i++){ 
      values.put(ID,id.get(i)); 
      Log.e("DBValues",id.get(i).toString()); 
     } 

     db.insert(TABLE_NAME_ID, null, values); 
     db.close(); 

     if (isInserted == -1) 
      return false; 
     else 
      return true; 

     return true; 
    } 

    public List<Integer> getAllData(){ 
     List<Integer> idList = new LinkedList<>(); 
     SQLiteDatabase db = this.getReadableDatabase(); 
     Cursor cursor = db.rawQuery(SELECT_ALL_ID, null); 
     if (cursor.moveToFirst()) { 
      do { 
       idList.add(Integer.valueOf(cursor.getString(cursor.getColumnIndex(ID)))); 
       Log.e("Ranjan","Return/" + cursor.getString(cursor.getColumnIndex(ID))); 
      } while (cursor.moveToNext()); 
     } 
     return idList; 
    } 
} 

答えて

0

編集はこれが変更されます -

のpublic static final String型SELECT_ALL_IDは= "選択*から" + TABLE_NAME + ";" ;

置き、forループ内でこのdb.insert(TABLE_NAME_ID, null, values);行: -

for(int i=0;i<id.size();i++){ 
      values.put(ID,id.get(i)); 
      Log.e("DBValues",id.get(i).toString()); 
      db.insert(TABLE_NAME_ID, null, values); 
     } 
+0

うん、これは私のために働きました –

関連する問題