2013-04-03 5 views
-2

Я новичок в android, и я создал базу данных с использованием sqlite с изображениями. Когда я просматриваю все свои данные, которые я вставил в базу данных, только горячая (строка строк) показывает все записи, но изображения показывают только первую строку. Кто-нибудь может мне помочь, я сейчас в отчаянии.Как петля, чтобы просмотреть все изображения из базы данных sqlite

public String getHot() { 
      // TODO Auto-generated method stub 

    String[] columns = new String[] { KEY_HOTNESS }; 
      Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null,null,null); 

    String hotness = ""; 
    int iRow = c.getColumnIndex(KEY_HOTNESS); 
    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) { 
     hotness = hotness + c.getString(iRow) + "\n"; 
    } 
    return hotness; 
} 

public byte[] getImage1(int id) { 
    // TODO Auto-generated method stub 

    String[] columns = new String[] { KEY_ROWID, KEY_NAME, KEY_HOTNESS, 
    KEY_IMAGE1, KEY_IMAGE2, KEY_IMAGE3, KEY_IMAGE4,KEY_IMAGE5 }; 

    Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, 
      null, null); 
    if (c == null) { 
     return null; 
    } 
    byte[] iMage1 = null; 
    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) { 
     iMage1 = c.getBlob(c.getColumnIndexOrThrow(KEY_IMAGE1)); 
    } 
    return iMage1; 
} 
+0

я попытался добавить «+„\ п“» в передней линии image1, но это дает мне error.So, как мне сделать это перейти на следующую запись? Thnx заранее –

ответ

0

это ваше решение: но будем также дать вам java.lang.OutOfMemoryError: bitmap, если ваш размер велик.

public ArrayList<Bitmap> getImage1(int id) { 
     // TODO Auto-generated method stub 
     ArrayList<Bitmap> a = new ArrayList<Bitmap>(); 
     Bitmap bmp; 

     String[] columns = new String[] { KEY_ROWID, KEY_NAME, KEY_HOTNESS, 
       KEY_IMAGE1, KEY_IMAGE2, KEY_IMAGE3, KEY_IMAGE4, KEY_IMAGE5 }; 

     Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, 
       null, null); 
     if (c != null) { 
      do { 
       iMage1 = c.getBlob(c.getColumnIndexOrThrow(KEY_IMAGE1)); 
       bmp = BitmapFactory.decodeByteArray(iMage1, 0, 
         iMage1.length); 
       a.add(bmp); 
       iMage1 = c.getBlob(c.getColumnIndexOrThrow(KEY_IMAGE2)); 
       bmp = BitmapFactory.decodeByteArray(iMage1, 0, 
         iMage1.length); 
       a.add(bmp); 
       iMage1 = c.getBlob(c.getColumnIndexOrThrow(KEY_IMAGE3)); 
       bmp = BitmapFactory.decodeByteArray(iMage1, 0, 
         iMage1.length); 
       a.add(bmp); 
       iMage1 = c.getBlob(c.getColumnIndexOrThrow(KEY_IMAGE4)); 
       bmp = BitmapFactory.decodeByteArray(iMage1, 0, 
         iMage1.length); 
       a.add(bmp); 
       iMage1 = c.getBlob(c.getColumnIndexOrThrow(KEY_IMAGE5)); 
       bmp = BitmapFactory.decodeByteArray(iMage1, 0, 
         iMage1.length); 
       a.add(bmp); 

      } while (c.moveToNext()); 
     } 

     return a; 
    } 
Смежные вопросы