title: Android: problem retrieving bitmap from database
body: <p>When I'm retrieving image from the sqlite database my Bitmap object <code>bm</code> return null value can any one help me..?</p>
  
  <p>I found problem in my database..</p>
  
  <p>When I store the byte array in blob data type in database table that time the size of the byte array was 2280..</p>
  
  <p>But when i retrieved that blob data type using select query I get the byte array within size 12.</p>
  
  <p>My code is:</p>
  
  <pre><code>// Inserting data in database
  byte[] b;  
  ByteArrayOutputStream baos = new ByteArrayOutputStream();  
  Bitmap bm = BitmapFactory.decodeResource(getResources(),R.drawable.icon);  
  bm.compress(Bitmap.CompressFormat.PNG, 100, baos); //bm is the bitmap object  
  b = baos.toByteArray();  
  //here b size is 2280  
  baos.close();  
  try  
  {  
  mDB = this.openOrCreateDatabase(MY_DATABASE_NAME, MODE_PRIVATE, null);  
  mDB.execSQL("CREATE TABLE IF NOT EXISTS "
  + MY_DATABASE_TABLE
  + " (PICTURE BLOB);");    
  mDB.execSQL("INSERT INTO "
  + MY_DATABASE_TABLE
  + " (PICTURE)"
  + " VALUES ('"+b+"');");  
  
  }  
  catch(Exception e)  
  {  
  Log.e("Error", "Error", e);  
  }  
  
  finally  
  {  
  if(mDB != null)  
  mDB.close();  
  }  
  
  
  // Retriving data from database  
  byte[] b1;  
  Bitmap bm;  
  mDB = this.openOrCreateDatabase(MY_DATABASE_NAME, MODE_PRIVATE, null);  
  try {  
  mDB.execSQL("CREATE TABLE IF NOT EXISTS "
  + MY_DATABASE_TABLE
  + " (PICTURE BLOB);");  
  
  Cursor c = mDB.rawQuery("SELECT * FROM " + MY_DATABASE_TABLE + ";", null);  
  c.moveToFirst();  
  if (c != null) {  
  do {  
  b1=c.getBlob(0)); //here b1 size is 12   
  bm=BitmapFactory.decodeByteArray(b1, 0, b1.length);   
  }while(c.moveToNext());  
  }  
  </code></pre>