0

SQLiteデータベースへのオブジェクトの挿入に関して問題があります。私のクラスはCase次のようになります。

public class Case {

String caseNumber; 
int status; 
String date;
Bitmap rightIndexFinger;
Bitmap leftIndexFinger; 


public Case(String caseNumber, int status, String date, Bitmap rightIndexFinger, Bitmap leftIndexFinger) {

    this.caseNumber = caseNumber;
    this.status = status;
    this.date = date;
    this.rightIndexFinger = rightIndexFinger;
    this.leftIndexFinger = leftIndexFinger; 

}

public Case(String caseNumber, int status, String date) {

    this.caseNumber = caseNumber;
    this.status = status;
    this.date = date;
}


public Bitmap getRightIndexFinger() {
    return rightIndexFinger;
}


public void setRightIndexFinger(Bitmap rightIndexFinger) {
    this.rightIndexFinger = rightIndexFinger;
}


public Bitmap getLeftIndexFinger() {
    return leftIndexFinger;
}


public void setLeftIndexFinger(Bitmap leftIndexFinger) {
    this.leftIndexFinger = leftIndexFinger;
}


public String getCaseNumber() {
    return caseNumber;
}


public void setCaseNumber(String caseNumber) {
    this.caseNumber = caseNumber;
}


public int getStatus() {
    return status;
}


public void setStatus(int status) {
    this.status = status;
}


public String getDate() {
    return date.toString();
}


public void setDate(String date) {
    this.date = date;
}
}

このクラスのオブジェクトをSQLiteデータベースに挿入する必要があります。私が試したのは:

String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CASES + "("
                + KEY_ID + " INTEGER PRIMARY KEY," + DATE + " TEXT,"
                + RIGHTFINGER + " TEXT," + LEFTFINGER +" TEXT" + ")";
        db.execSQL(CREATE_CONTACTS_TABLE);

caseこれは、クラス内のすべての変数がであった場合に意味Stringがありますが、ビットマップに対してこれを行うにはどうすればよいですか?

4

2 に答える 2

1

sqliteのビットマップはBlobにマッピングされ、画像を挿入するには、バイトとして挿入します[]..https ://stackoverflow.com/a/4508531/1434631 とhttps://stackoverflow.com/a/7331698/
を確認してください1434631

于 2012-07-30T08:56:51.900 に答える
1

ビットマップをバイト配列に変換してから、このバイト配列をBlobデータ型のデータベースに保存します。次のコードによって:

ビットマップをバイト配列に変換するには、次のコードを使用します。

Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.thumbnail);

ByteArrayOutputStream out = new ByteArrayOutputStream();

image.compress(Bitmap.CompressFormat.PNG, 100, out);

byte[] buffer=out.toByteArray();

バイト配列をblobタイプで保存するには、次のコードを使用します。

ContentValues cv=new ContentValues();
   cv.put(CHUNK, buffer);       //CHUNK blob type field of your table
   long rawId=database.insert(TABLE, null, cv); //TABLE table name

このリンクでBlobについてもっと読む

于 2012-07-30T08:58:58.270 に答える