Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/06/2012, 17:13
Alemanarg
 
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires, Mar del plata
Mensajes: 250
Antigüedad: 16 años, 5 meses
Puntos: 2
Sacar foto y asignarla a un imageView

Hola!!
Estuve probando algunas cuestiones como tomar fotos u obtener la imagen desde la galeria.
Cuando la obtengo de la galeria, puedo asignar la foto a una imageView, pero cuando lo hago desde la camara y saco la foto, la misma no puedo asignarla a una imageView.

Aca adjunto el codigo. Luego de sacar la foto, vuelve a la pantalla de la app con data=null.
Yo pregunto si es data == null porque si estoy por tomar la foto y apreto el boton volver, se cierra la app por error.
Aparentemente data es null cdo vuelve de sacar una foto. Entonces cual variable podria comparar para que se asigne al image view?

Graciasss!!


Código JAVA:
Ver original
  1. @Override
  2.     public void onCreate(Bundle savedInstanceState) {
  3.         super.onCreate(savedInstanceState);
  4.         setContentView(R.layout.tab2);
  5.        
  6.         name = Environment.getExternalStorageDirectory() + "/NOMBRE_ARCHIVO.jpg";
  7.  
  8.        
  9.         Button btnActionPhoto = (Button)findViewById(R.id.btnFoto);
  10.  
  11.         btnActionPhoto.setOnClickListener(new View.OnClickListener() {             
  12.             @Override
  13.             public void onClick(View v)
  14.             {
  15.                
  16.                 intent =  new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  17.                 int code = TAKE_PICTURE;
  18.                
  19.                 Uri output = Uri.fromFile(new File(name));
  20.                 intent.putExtra(MediaStore.EXTRA_OUTPUT, output);  
  21.                    
  22.                 startActivityForResult(intent, code);
  23.             }
  24.         });
  25.        
  26.        
  27.         Button btnActionSent = (Button)findViewById(R.id.btnEnvT1);
  28.  
  29.         btnActionSent.setOnClickListener(new View.OnClickListener() {              
  30.             @Override
  31.             public void onClick(View v)
  32.             {
  33.                
  34.                 sent();
  35.                
  36.             }
  37.         });
  38.        
  39.        
  40.     }
  41.    
  42.    
  43.     /* Cuando apreto el boton de sacar foto */
  44.    
  45.     @Override
  46.     protected void onActivityResult(int requestCode, int resultCode, Intent data)
  47.     {
  48.        
  49.         if (data == null)
  50.           {
  51.  
  52.             // Esta validacion es por si apretamos el boton volver y no sacamos foto. Para que vuelva sin nada. Si no hago esto, se cierra la app
  53.           }
  54.        
  55.         else
  56.         {
  57.  
  58.                 /* A partir del nombre del archivo ya definido lo buscamos y creamos el bitmap para el ImageView */    
  59.                
  60.                         Uri takesImage = data.getData();
  61.                         try {
  62.                             is = getContentResolver().openInputStream(takesImage);
  63.                             BufferedInputStream bis = new BufferedInputStream(is);
  64.                             bitmap = BitmapFactory.decodeStream(bis);
  65.                             ImageView iv = (ImageView)findViewById(R.id.img1);
  66.                             iv.setImageBitmap(bitmap);
  67.                             c=1;
  68.                         } catch (FileNotFoundException e) {}