2017-09-01 14 views
0

アンドロイド私のデータベースからの配列をretriveすることはできません、私は配列を取得する方法を見つけることができません。私は、配列を含むデータベースからのものを得るために、私の機能で

public Meals getMeals(int id) { 
    SQLiteDatabase db = this.getReadableDatabase(); 

    Cursor cursor = db.query(
         TABLE_MEALS, 
         new String[]{KEY_ID, KEY_TITLE, KEY_DESC, KEY_CTRGRY, KEY_PIC, KEY_INGRDNTS}, KEY_ID + "=?", 
         new String[]{String.valueOf(id)}, null, null, null, null); 
    if (cursor != null) 
     cursor.moveToFirst(); 

    Meals Meal = new Meals(Integer.parseInt(cursor.getString(0)), 
      cursor.getString(1), cursor.getString(2), cursor.getString(3), cursor.getInt(4), cursor./**placeholder for equivilant of getInt/String but for List<String>*/); 
    // return Meals 
    return Meal; 
} 
+0

'公共の一覧 getMeals(int型のID)'し、オブジェクトの食事 – Yupi

答えて

0

カーソルを反復処理する必要があります、各行の属性値を取得します。私は、これはあなたを助けることを願っています

if (cursor != null) { 
    cursor.moveToFirst(); 
} 

ArrayList<Meal> meals = new ArrayList(); 
while (!cursor.isAfterLast()) { 
    Meal meal = new Meal(); 
    meal.setId(cursor.getInt(cursor.getColumnIndex("id"))); 
    meal.setTitle(cursor.getString(cursor.getColumnIndex("title"))); 
    ... // set rest fields 
    meals.add(meal); 
} 
return meals; 
+0

のリストを返す:あなたは次のように使用することができます。 –

関連する問題