2015-03-02 5 views
0

Я изучаю базы данных в android и столкнулся с следующим вопросом: мне бы хотелось получить изображение, как изменить код ниже на изображение вместо строки?Android: Показать изображение из SQLite

public List<String> getImage(){ 
    List<String> listRows = new ArrayList<String>(); 
    SQLiteDatabase db = this.getWritableDatabase(); 

    Cursor c; 
    try { 
     c = db.rawQuery("SELECT image FROM " + MY_TABLE + " WHERE _id = " + _id, null); 
     if(c == null) return null; 

     String row; 
     c.moveToFirst(); 
     do {    
      row = c.getString(0);    
      listRows.add(row); 
     } while (c.moveToNext()); 
     c.close(); 
    } 
    catch (Exception e) { 
     Log.e("LOGmsg getDBImage", e.getMessage()); 
    } 

    db.close();   

    return listRows; 
} 
+0

Больше информации о том, как база данных настроена будет полезно. – mkorcha

+0

Обычно вы храните изображения в виде массивов в вашей базе данных. BitmapFactory.decodeByteArray() может помочь вам снова декодировать их. Посмотрите на этот вопрос: https://stackoverflow.com/questions/7331310/how-to-store-image-as-blob-in-sqlite-how-to-retrieve-it – flxapps

ответ

2

магазин изображение в базе данных является плохой практикой, то лучше хранить фотографии на SD и хранить в базе данных путей к ним

+0

Я просто поговорил с коллегой за работой и был точно проинформирован. Я подойду к этому методу сохранения пути в БД, а не к изображению в виде BLOB. Благодарю. – TwoStarII

0

Рассматривайте изображение как массив байтов и записывайте/извлекайте его в/из своей базы данных в виде объекта Blob.

Смежные вопросы