بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
ذخیره تصویر در دیتابیس
برای ذخیره تصویر در دیتابیس و نمایش اون کد زیر رو به دست آوردم
// ======== to store a image in to 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();
}
// ======== to retrieve a image from db
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 ;
}</pre> <p><span >
حالا سوال اینجاست، متد insertImg ورودی int id این رو دقیقا باید از کجا بگیرم بدم به متد؟
عکس رو کروپ کردم و در onActivityResult این رو دارم:
Bundle extras = data.getExtras();
if (extras != null) {
Bitmap photo = extras.getParcelable("data");
}
و در آخر(شاید هم از همون اول)، فیلد دیتابیس باید از چه نوعی باشه؟ BLOB؟
0
0
در صورت Update کردن رکورد، آیدی رکورد رو پاس میدید و در حالت Insert و Auto increment میتونید صرفنظر کنید (12 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
Borhani
12 سال پیش
0
0
سلام نحوه ذخیره سازی تصویر در دیتابیس را می توانید از پروژه مارکت استاد یاد بگیرید
ببینید در اونجا از روی سرور عکس را دانلود می کند و بعد به شما نمایش می دهد شما هم می توانید به جای دانلود مسیر را از دیتابیس بخونید و در آنجا ذخیره کنید
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .