-1

私は連絡先に関するプロジェクトを行っています。このために、SQlite DataBase に写真をインポート/保存する必要があります。データベース。どうすればよいか、または別の方法を使用してそれを行うことができるか教えてください。どちらも私にとって役立つので、もう少し学ぶことができます.

ありがとうございました、

4

1 に答える 1

0

インターネットからかSDカードからか、どこから写真を取得したいかによって異なります。ただし、それを取得してビットマップに変換できると想定しています。

Bitmap bm = (get it from anywhere);
ByteArrayOutputStream blob = new ByteArrayOutputStream();
//the below line is used if you like to scale it down to store it into the database
bm = Bitmap.createScaledBitmap(bm, width, height, false);
//then put it into a byte array to store it in the database
bm.compress(CompressFormat.JPEG, 100, blob);
// method call to database
dbClass.addPicture(blob.toByteArray());

データベースのテーブル定義:

SQLiteDatabase.execSQL("CREATE TABLE IF NOT EXISTS Pictures (id integer primary key autoincrement, pic blob not null ");

データベース クラスの addPicture メソッドは次のとおりです。

public void addPicture(byte[] picture){
        db = this.getWritableDatabase();
    ContentValues cv = new ContentValues();
    cv.put("pic", picture);
    db.insert("Pictures ", null, cv);
}

それが役立つことを願っています

于 2012-08-12T02:23:37.033 に答える