これをコードに実装しましたが、BLOB を long に変換できないというエラーが発生します。ここに私が実装したコードがありますが、エラーが発生しています:
Cursor cur = myDbHelper.getImages(); //images has been recieved in cursor
ImageAdapter adapter = new ImageAdapter(this, cur);
lst.setAdapter(adapter);
/* ImageAdapter Class*/
public ImageAdapter(Context context, Cursor cursor) {
super(context, cursor);
this.context = context;
this.cursor = cursor;
}
public View newView(Context context, Cursor cursor, ViewGroup arg2) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.residentgallery, null);
ImageView iv = (ImageView) view.findViewById(R.id.iv1);
if(cursor.moveToFirst())
{
do
{
System.out.println("byte array");
byte[] data = cursor.getBlob(cursor.getColumnIndex("images"));
ByteArrayInputStream imageStream = new ByteArrayInputStream(data);
Bitmap theImage = BitmapFactory.decodeStream(imageStream);
iv.setImageBitmap(theImage);
System.out.println("Imageview");
}
while(cursor.moveToNext());
}
return view;
}
このコードを実行すると、次のエラーが発生します。
android.database.sqlite.SQLiteException: unknown error: Unable to convert BLOB to long
BLOB データ型の sqlite に画像を保存しました。みんな、私を助けてください。