بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

Image در database

مدیریت گفتگو
Apper 10 سال پیش
آخرین تغییر: 10 سال پیش

با سلام 

اگر ما فیلدی به نام Name داشته باشیم مقادیر اونو داخل آرایه ای به نام string ذخیره میکنیم. 

حالا اگر ما فیلدی به نام pic داشته باشیم و داخل هر  record عکسی ذخیره کرده باشیم مقادیر اونو باید داخل آرایه‌ای از bayt ها ذخیره کنیم؟ 

سوال من اینه چطوری این عکس ها رو داخل این آرایه ذخیره کنیم؟   و   چطور به عناصر این آرایه دسترسی پیدا کنیم؟ 

ممنون از راهنمایی دوستان. 

نظرات

Apper 10 سال پیش
کسی نمیدونه؟
Hossein Lamei Ramandi 10 سال پیش
چرا داخل آرایه ای از بایت ها ؟ نام عکس رو داخلش ذخیره کنید و تویه آرایه استرینگ بریزید. (عکس هارو داخل پوشه assets بزارید ) هرجا لازم داشتید از عکس استفاده کنید از پوشه assets و با توجه به نام عکس ازشون استفاده کنید .
Apper 10 سال پیش
عکس ها داخل دیتابیس ذخیره شده و باید از اونجا خونده بشه.

پاسخ‌ها 1

محمد رضا 10 سال پیش

اگر تصاویر رو در sqlite به صورت blob ذخیره کردین از متد زیر برای برگردوندن عکس ها میشه استفاده کرد

 

 
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 ;
}

 

منبع : لینک

 

نظرات

Apper 10 سال پیش
چطوری داخل آرایه ذخیره کنم واز داخل آرایه بخونمش؟ همینم اگه بگین کارم را میفته. ممنون از راهنمایی
محمد رضا 10 سال پیش
باید یه آرایه از نوع bitmap بسازین بعد هم بیاین ازش یه new بگیرین وطولش رو بهش Coursor.getlengh بدین ، سپس یه int برابر با صفر تعریف کنید ، هم داخل if (cur.moveToFirst()){ هر دفعه بگین که به اندیس i=0 که از قبل اضافه کدین یک واحد اضافه کنه و اندیس i ام رو داخل آرایه بریزه
NullPointerException 10 سال پیش
لینک ، اینجا نحوه ذخیره و دسترسی تصاویر از پوشه drawable یا دیتابیس به صورت آرایه و BLOB را توضیح داده است.
NullPointerException 10 سال پیش
اگر می خوای تصاویر رو که به صورت آرایه بایت ذخیره کردی نمایش بدی Glide امکان گرفتن تصویر به صورت آرایه بایت و داره (یکی از برتری های Glide نسبت به Picasso همین موضوعه در غیر این صورت باید تبدیل کنی به Bitmap و استفاده کنی ).

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