Error sending bitmap between activies android -
i know how send images between activities.
can't emulate android app in eclipse, everytime want test have install phone, can't see error returns me.
as said before, having problems between 2 activities when want send , image "acceso_camara" (main activity) "visualizar_imagen" (activity in want recieve image). here, code did send image:
protected void onactivityresult(int requestcode, int resultcode, intent data) { intent siguienteactividad = new intent(this,visualizar_imagen.class); switch(requestcode) { case request_image_capture: if (resultcode == result_ok) { bundle extras = data.getextras(); bitmap bitmap = (bitmap) extras.get("imagen"); bytearrayoutputstream bs = new bytearrayoutputstream(); bitmap.compress(bitmap.compressformat.png, 50, bs); siguienteactividad.putextra("bytearray", bs.tobytearray()); startactivity(siguienteactividad); } break; case select_picture: if(resultcode == result_ok && data != null) { uri selectedimage = data.getdata(); string[] filepathcolumn = { mediastore.images.media.data }; cursor cursor = getcontentresolver().query(selectedimage,filepathcolumn, null, null, null); cursor.movetofirst(); int columnindex = cursor.getcolumnindex(filepathcolumn[0]); string picturepath = cursor.getstring(columnindex); cursor.close(); bitmap bitmap = bitmapfactory.decodefile(picturepath); bytearrayoutputstream bs = new bytearrayoutputstream(); bitmap.compress(bitmap.compressformat.jpeg, 50, bs); siguienteactividad.putextra("bytearray", bs.tobytearray()); startactivity(siguienteactividad); } break; } }
"request_image_capture" , "select_picture" setted "private static final int" , each 1 value.
recieving activity
protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_visualizar__imagen); if(getintent().hasextra("bytearray")) { imageview1 = (imageview) findviewbyid(r.id.imageview1); bitmap bitmap = bitmapfactory.decodebytearray(getintent().getbytearrayextra("bytearray"), 0, getintent().getbytearrayextra("bytearray").length); imageview1.setimagebitmap(bitmap); } }
and when run app, gives me error, saying "app has stopped"
any ideas?
p.s: have tried not compress image send, , have no error, anthing given on "visualizar_imagen" activity.
okey, given error, seems has no data send next activity. ideas?
04-27 18:02:20.730: e/androidruntime(11283): java.lang.runtimeexception: failure delivering result resultinfo{who=null, request=1, result=-1, data=intent { act=inline-data (has extras) }} activity {com.example.proyecto/com.example.proyecto.acceso_camara}: java.lang.nullpointerexception 04-27 18:02:20.730: e/androidruntime(11283): @ android.app.activitythread.deliverresults(activitythread.java:3557) 04-27 18:02:20.730: e/androidruntime(11283): @ android.app.activitythread.handlesendresult(activitythread.java:3600) 04-27 18:02:20.730: e/androidruntime(11283): @ android.app.activitythread.access$1300(activitythread.java:151
don't pass bitmap objects activities directly, on devices can cause out of memory exception. better way save bitmap file , pass file uri activity. let receiving activity read bitmap file.
save bitmap in app's private directory it'll deleted once app uninstalled , no other apps can access it.
Comments
Post a Comment