2017-01-04 13 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

まだ挿入されているが、画像ファイルが表示されていません。 –

関連する問題