2017-01-04 79 views
-3

這是我的代碼,並在插入圖像文件時出錯。如何在數據庫中插入和獲取圖像

SQLiteDatabase.openOrCreateDatabase("AddDetail", null); 
    db1.execSQL("CREATE TABLE IF NOT EXISTS profile(name TEXT,photo BLOB); "); 

    Bitmap image= BitmapFactory.decodeResource(getResources(),R.drawable.file); 
    ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
    image.compress(Bitmap.CompressFormat.JPEG,100,stream); 

    byte imageInByte[]=stream.toByteArray(); 
    db1.execSQL("INSERT INTO profile VALUES('Ramesh',"+imageInByte+");"); 
    Cursor s= db1.rawQuery("Select * from profile",null); 
    while(s.moveToNext()){ 
     jtv.setText(s.getString(0)); 
     byte[] image1= s.getBlob(1); 
     Bitmap bmp= BitmapFactory.decodeByteArray(image1,0,image1.length); 
     jim.setImageBitmap(bmp); 
     } 
+1

爲什麼要在數據庫中存儲圖像的位圖? –

+0

只是想學習新東西 –

+0

聽起來不錯,但你應該嘗試存儲圖像的URL而不是圖像的位圖。 –

回答

0

在這裏我解決了它,錯誤是在我的查詢。

jtv=(TextView)findViewById(R.id.tv1); 
    jim=(ImageView)findViewById(R.id.im); 
    db1=openOrCreateDatabase("ImgAdd",MODE_PRIVATE,null); 
    jb1=(Button)findViewById(R.id.b1); 

    db1.execSQL("CREATE TABLE IF NOT EXISTS profile(name TEXT,photo BLOB);"); 

    Bitmap image= BitmapFactory.decodeResource(getResources(),R.drawable.test); 
    ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
    image.compress(Bitmap.CompressFormat.JPEG,100,stream); 
    imageInByte=stream.toByteArray(); 

    jb1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      try { 
       db1.execSQL("INSERT INTO profile VALUES('Ramesh','" + imageInByte + "')"); 
       Log.d("Image : ", " Value Inserted"); 
     Cursor s= db1.rawQuery("Select * from profile",null); 
      if(s.moveToNext()){ 
       jtv.setText(s.getString(0)); 
       byte[] image1= s.getBlob(1); 
       Bitmap bmp= BitmapFactory.decodeByteArray(image1,1,image1.length); 
       jim.setImageBitmap(bmp); 
      } 
      } 
      catch(Exception e) 
      { 
       Log.d("Errrrrrr",e.toString()); 
      } 
     } 
    }); 
+0

但它仍然插入,但不顯示圖像文件。 –

相關問題