Is the byte-array you saved in the database *exactly* the same as the byte-array returnes by src.getBytes() in your getBitmapFromString (String) method?
I'd be worried that c.getString() may change the underlying byte-array to adher to the default UTF-8 encoding. On Mar 23, 12:10 am, Komal <[email protected]> wrote: > Somebody please help me,,why decodeByteArray(...) returns null???? > Thanxs > komal > > On Mar 20, 11:45 am, Komal <[email protected]> wrote: > > > > > Hello, > > I want to store image in sqlite database. > > I tried to store it using BLOB and String, in both cases it store the > > image and can retrieve it but when i convert it to Bitmap using > > BitmapFactory.decodeByteArray(...) it return null. > > Below is my code please have a look and suggest me where i m making > > mistake. > > > public class imagesql extends Activity { > > /** Called when the activity is first created. */ > > > Bitmap bi=null; > > > @Override > > public void onCreate(Bundle savedInstanceState) { > > super.onCreate(savedInstanceState); > > setContentView(R.layout.main); > > > InputStream in=this.getResources().openRawResource > > (R.drawable.dig); > > bi = BitmapFactory.decodeStream(in); > > Log.i("bitmap1",""+bi); > > ImageView iv1=(ImageView)findViewById(R.id.img1); > > iv1.setImageBitmap(bi); > > > String str= convertBitmapToString(bi); > > Log.i("image string",str); > > myDB a=new myDB(this); > > a.open(); > > a.insertTag(str); > > > Cursor c=a.fetchData(myDB.TABLE_NAME_TAG,new String[] > > {myDB.KEY_TAG_IMG},null,null); > > startManagingCursor(c); > > int rc=c.getCount(); > > > ImageView iv; > > c.moveToFirst(); > > > if(rc!=0) > > { > > String s=c.getString(0); > > Log.i("cursor string image",s); > > Bitmap bitmap=getBitMapFromString(s); > > Log.i("bitmap2",""+bitmap); > > iv=(ImageView)findViewById(R.id.img); > > iv.setImageBitmap(bitmap); > > } > > } > > > public static String convertBitmapToString(Bitmap src) > > { > > ByteArrayOutputStream os=new ByteArrayOutputStream(); > > src.compress(android.graphics.Bitmap.CompressFormat.PNG, 100, > > (OutputStream) os); > > return os.toString(); > > } > > > public static Bitmap getBitMapFromString(String src) > > { > > Log.i("b=",""+src.getBytes().length);//returns 12111 as a length. > > return BitmapFactory.decodeByteArray(src.getBytes(),0,src.getBytes > > ().length); > > } > > > }- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---

