انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
دریافت اطلاعات از sqlite

دریافت اطلاعات از sqlite

#1
[font]سلام دوستان
من یک عکس رو به صورت زیر در sqlite ذخیره کردم اما وقتی عکس رو از دیتابیس میگیرم چیزی در ایمیج ویو نشون داده نمیشه[/font]
[font]اول عکسو به ارایه از نوع بایت تبدیل کردم[/font]
 
کد پی‌اچ‌پی:
Bitmap bm BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
ByteArrayOutputStream baos = new ByteArrayOutputStream();  
bm.compress(Bitmap.CompressFormat.PNG100baos); // PNG (you can choose JPEG)
byte[] baos.toByteArray();
Insert_to_db(b); // ارسال برای ذخیره در تابع دیتابیس 
اینم تابع برای ذخیره کردن 
 
کد پی‌اچ‌پی:
public void Insert_to_db(byte[] str){
   
String DATABASE_NAME "MYIMAGE.db";
    
String TABLE_NAME "Im";  
try{
    
SQLiteDatabase mydb openOrCreateDatabase(DATABASE_NAMEContext.MODE_PRIVATE,null);
    
mydb.execSQL("INSERT INTO " TABLE_NAME " (img) VALUES ('"+str+"')");
 
    
mydb.close();
  
}catch(
Exception e){
    
Toast.makeText(getApplicationContext(), "Error in inserting into table"Toast.LENGTH_LONG).show();
}     

در زیر دوباره اطلاعات رو دریافت کردم و بایت رو به bitmap تغییر دادم
 
کد پی‌اچ‌پی:
public void read_to_db(){
String DATABASE_NAME "MYIMAGE.db";
    
String TABLE_NAME "Im";  
        
byte[] Nttt=null;
        try{
            
SQLiteDatabase mydb openOrCreateDatabase(DATABASE_NAMEContext.MODE_PRIVATE,null);
            
Cursor allrows  mydb.rawQuery("SELECT * FROM "+  TABLE_NAME+" WHERE ID=1"null);
            if(
allrows.moveToFirst()){
                do{
                    
String ID allrows.getString(0);
                    
Nttt allrows.getBlob(1);                            
                }
                while(
allrows.moveToNext());
            }
            
mydb.close();
        }catch(
Exception e){
            
Toast.makeText(getApplicationContext(), "Error"Toast.LENGTH_LONG).show();
        }
        
        
ByteArrayInputStream bais = new ByteArrayInputStream(Nttt);
Bitmap bm2BitmapFactory.decodeStream(bais);

ImageView iv = (ImageViewfindViewById(R.id.imageView1);
iv.setImageBitmap(bm2);  // درج عکس
    

Nttt ارایه ما رو برمیگردونه و اونو به bitmap تبدیل کردم ولی تصویر نمایش داده میشه کسی میتونه بگه مشگل از کجاست
برای ذخیره نوع sqlite رو BLOB در نظر گرفتم.
 
پاسخ


پیام‌های این موضوع
دریافت اطلاعات از sqlite - توسط بنیامین خلیفه - ۱۳۹۴/۰۷/۲۵, ۰۷:۰۴ ب.ظ
RE: دریافت اطلاعات از sqlite - توسط داش بهروز - ۱۳۹۴/۰۷/۲۶, ۰۳:۰۹ ب.ظ
RE: دریافت اطلاعات از sqlite - توسط بنیامین خلیفه - ۱۳۹۴/۰۷/۲۷, ۱۰:۱۵ ق.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان