image stored in sqlite database but its not retrieve in CircleimageView
What I have tried:
1. DatabaseHelper.class
public void insertImage(byte[] imageBytes) {
SQLiteDatabase db = this.getReadableDatabase();
ContentValues cv = new ContentValues();
cv.put(IMAGE, imageBytes);
db.insert(TABLE_NAME, null, cv);
}
public byte[] retreiveImageFromDB() {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cur = db.query(true, TABLE_NAME, new String[]{IMAGE},
null, null, null, null,
COL_1 + " DESC", "1" );
if (cur.moveToFirst()) {
byte[] blob = cur.getBlob(cur.getColumnIndex("IMAGE"));
cur.close();
return blob;
}
cur.close();
return null;
}
2.Utils.class
public static byte[] getImageBytes(Bitmap bitmap) {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
return stream.toByteArray();
}
public static Bitmap getImage(byte[] image) {
return BitmapFactory.decodeByteArray(image, 0, image.length);
}
public static byte[] getBytes(InputStream inputStream) throws IOException {
ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
int len = 0;
while ((len = inputStream.read(buffer)) != -1) {
byteBuffer.write(buffer, 0, len);
}
return byteBuffer.toByteArray();
}
3.ProfileFragment.class
<pre>Boolean saveImageInDB(Uri selectedImageUri) {
try {
InputStream iStream = getActivity().getContentResolver().openInputStream(selectedImageUri);
byte[] inputData = Utils.getBytes(iStream);
databaseHelper.insertImage(inputData);
return true;
} catch (IOException ioe) {
Log.e(TAG, "<saveImageInDB> Error : " + ioe.getLocalizedMessage());
return false;
}
}
Boolean loadImageFromDB() {
try {
byte[] bytes = databaseHelper.retreiveImageFromDB();
circleView.setImageBitmap(Utils.getImage(bytes));
return true;
} catch (Exception e) {
Log.e(TAG, "<loadImageFromDB> Error : " + e.getLocalizedMessage());
return false;
}
}