1

SQLite から blob 値を取得すると、データベースに格納されているため、異なる値が返されます。なぜこれが起こっているのかわかりません。を使用している場合cursor.getString()、同じ値が得られます。しかし、 を使用するcurser.getBlob()と、異なる値が得られます。また、cursor.getString()値をbytes[]使用getBytes()するように変換すると、データベースに保存されている別の値に変換されます。

原因が分からないので解決策を教えてください。

4

1 に答える 1

2

挿入クエリを使用してデータを sqlite データベースに挿入したと思います。私の意見では、次の方法を使用してデータと画像を挿入することをお勧めします。

CREATE TABLE IF NOT EXISTS " + DB_TABLE + "("+ 
               KEY_NAME + " TEXT," + 
               KEY_IMAGE + " BLOB);";

ContentValues cv = new  ContentValues();
cv.put(KEY_NAME,    name);
cv.put(KEY_IMAGE,   image);
database.insert( DB_TABLE, null, cv );

この方法を使用してください。そうでない場合は、それについてお知らせください。運が良かった。

于 2012-08-09T21:35:40.167 に答える