2012-02-22 9 views
4

Как получить изображение, сохраненное в таблице Sqlite?Как получить изображение из базы данных SQLite?

таблица выглядит следующим образом:

public class ImageInDB extends SQLiteOpenHelper { 

private static final int DATABASE_VERSION = 2; 
private static final String DATABASE_NAME = "test01.db"; 
private static final String MP_TABLE_NAME = "MPImage"; 

ImageInDB (Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
}// end of 

@Override 
public void onCreate(SQLiteDatabase db) { 
    // TODO Auto-generated method stub 
    db.execSQL(" CREATE TABLE " + MP_TABLE_NAME + " (" + 
      BaseColumns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
      " img BLOB " + 
      ");"); 
} 

Теперь, как следует метод, получить изображение llok нравится ?? ниже моя попытка:

public ??? getMP_RPY(long id) { 
    SQLiteDatabase db = this.getReadableDatabase(); 
    SQLiteCursor c = (SQLiteCursor) db.rawQuery("SELECT img FROM MPImage WHERE "+ 
               BaseColumns._ID+" = "+ 
               Long.toString(id), null); 
    c.moveToFirst(); 
    ???? r = c.getDouble(0); 
    return r;  
} 

ответ

5
ImageView myImage = (ImageView) findViewById(R.id.myImage); 

byte[] bb = cursor.getBlob(cursor.getColumnIndex(MyBaseColumn.MyTable.ImageField)); 

myImage.setImageBitmap(BitmapFactory.decodeByteArray(bb, 0, bb.length)); 

ИЛИ

Пожалуйста, проверьте this link

+0

что значение "MyBaseColumn" ?? я имею в виду, что я должен заменить его? –

6

Не храните изображение в базе данных SQLite. Вместо этого сохраните путь к изображению. Или если вы ДЕЙСТВИТЕЛЬНО хотите сохранить изображение в базе данных, а затем изучить базовый SQ Lite.

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