Как получить изображение из базы данных SQLite? - PullRequest
4 голосов
/ 22 февраля 2012

Как получить изображение, хранящееся в таблице 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  " +
            ");" );
}

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

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;       
}

Ответы [ 2 ]

6 голосов
/ 22 февраля 2012

Не сохраняйте изображение в базе данных SQLite. Вместо этого сохраните путь к изображению. Или, если вы REALLY хотите сохранить изображение в базе данных, изучите базовый SQ Lite.

5 голосов
/ 22 февраля 2012
ImageView myImage = (ImageView) findViewById(R.id.myImage);

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

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

OR

Пожалуйста, проверьте эту ссылку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...