آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

ذخیره تصویر در دیتابیس

iSheykhi  12 سال پیش  12 سال پیش
+2 0

برای ذخیره تصویر در دیتابیس و نمایش اون کد زیر رو به دست آوردم

 // ======== 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

سلام نحوه ذخیره سازی تصویر در دیتابیس را می توانید از پروژه مارکت استاد یاد بگیرید

ببینید در اونجا از روی سرور عکس را دانلود می کند و بعد به شما نمایش می دهد شما هم می توانید به جای دانلود مسیر را از دیتابیس بخونید و در آنجا ذخیره کنید

0 0
مرسی، اما من در مورد این کد سوال واسم پیش اومد، فکر کنم عنوان سوال مناسب نبوده، با تشکر (12 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .