View Full Version : ذخیره عکس در SQLite
F.zeinali
یک شنبه 22 اردیبهشت 1392, 14:49 عصر
سلام
چطور می تونم یک عکس داخل SQLite ذخیره کنم ؟
shahin bahari
یک شنبه 22 اردیبهشت 1392, 22:16 عصر
اگر من میخواستم همچین چیزی رو پیاده کنم, عکس ها رو یه جایی ذخیره میکردم و آدرس اون ها رو توی دیتابیس نگه میداشتم. این جوری بهینه تر میشه. به هر حال لینک زیر شاید به دردتون بخوره:
http://stackoverflow.com/questions/7331310/how-to-store-image-as-blob-in-sqlite-how-to-retrieve-it
darkenerboy
چهارشنبه 25 اردیبهشت 1392, 00:28 صبح
البته میتونی یک فیلد از نوع بایت هم داشته باشی
عکست رو به ارایه ای از بایت ها تبدیل کنی
و اون رو توی بانکت ذخیره کنی
در زمان خوندن هم میتونی ارایه باید رو بگیری و تبدیلش کنی به عکس و نمایشش بدی
این راه زمانی استفاده میشه که تصاویر مهم باشند و حجم پایگاه داده مهم نباشه
sina.aslpour
چهارشنبه 29 مرداد 1393, 11:00 صبح
این که گفتین عکس رو به بایت تبدیل کنید
میشه یه توضیحی بدین
همینطور برای تبدیل بایت به عکس
البته نه با استفاده از Bitmap.
sina.aslpour
چهارشنبه 29 مرداد 1393, 11:06 صبح
این که گفتین عکس رو به بایت تبدیل کنید
میشه یه توضیحی بدین
همینطور برای تبدیل بایت به عکس
البته نه با استفاده از Bitmap.
barnamenevisjavan
چهارشنبه 29 مرداد 1393, 11:38 صبح
برای ذخیره توی DB
public void insertImg(int id , Bitmap img ) {
byte[] data = getBitmapAsByteArray(img); // this is a function
insertStatement_logo.bindLong(1, id);
insertStatement_logo.bindBlob(2, data);
insertStatement_logo.executeInsert();
insertStatement_logo.clearBindings() ;
}
public static byte[] getBitmapAsByteArray(Bitmap bitmap) {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.PNG, 0, outputStream);
return outputStream.toByteArray();
}
برای خوندن هم
public Bitmap getImage(int i){
String qu = "select img from table where feedid=" + i ;
Cursor cur = db.rawQuery(qu, null);
if (cur.moveToFirst()){
byte[] imgByte = cur.getBlob(0);
cur.close();
return BitmapFactory.decodeByteArray(imgByte, 0, imgByte.length);
}
if (cur != null && !cur.isClosed()) {
cur.close();
}
return null ;
}
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.