2017-09-01 54 views
0

數組在我的函數從包含數組的數據庫中得到的東西,我無法找到一個方法來獲得數組:我將無法獲取從我的數據庫的Android

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

的名單我希望這會幫助你。 –

相關問題