Curso Android UTN Marzo 2015 Clase#12. ●Diseñamos una interfaz con un imageView y dos botones. ●Definimos dos constantes para identificar la cámara y.

1 Curso Android UTN Marzo 2015 Clase#12 ...
Author: Rubén Acuña Martínez
0 downloads 0 Views

1 Curso Android UTN Marzo 2015 Clase#12

2 ●Diseñamos una interfaz con un imageView y dos botones. ●Definimos dos constantes para identificar la cámara y la galería. ●Añadimos los permisos necesarios para usar la cámara y la tarjeta de memoria Mostrar una foto desde la galería o desde la cámara

3 ●Seteamos los eventos de ambos botones: 1.Cámara: Intent action = new Intent("android.media.action.IMAGE_CAPTURE"); action.putExtra(MediaStore.EXTRA_OUTPUT,MediaStore.Images.M edia.EXTERNAL_CONTENT_URI.toString()); startActivityForResult(action, CAMERA_REQUEST); Mostrar una foto desde la galería o desde la cámara

4 ●Seteamos los eventos de ambos botones: 2. Galería: Intent photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT); photoPickerIntent.setType("image/*"); startActivityForResult(photoPickerIntent, PICKER_GALLERY); Mostrar una foto desde la galería o desde la cámara

5 ●Trabajamos sobre el onActivityResult y consultamos de donde viene y su resultado if ((requestCode == CAMERA_REQUEST) && (resultCode== RESULT_OK)) { //do-stuff } if ((requestCode == PICKER_GALLERY) && (resultCode== RESULT_OK)) { //do-another-stuff } Mostrar una foto desde la galería o desde la cámara

6 ●Procesar una imagen desde la cámara Bitmap photo = (Bitmap) data.getExtras().get("data"); System.gc(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); photo.compress(Bitmap.CompressFormat.JPEG, 70, baos); imageView_result.setImageBitmap(photo); System.gc(); baos.close(); baos=null; Mostrar una foto desde la galería o desde la cámara

7 ●Procesar una imagen desde la galería Uri chosenImageUri = data.getData(); Bitmap photoBitMap = Media.getBitmap(this.getContentResolver(), chosenImageUri); System.gc(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); photoBitMap.compress(Bitmap.CompressFormat.JPEG, 70, baos); imageView_result.setImageBitmap(photoBitMap); System.gc(); baos.close(); baos=null; Mostrar una foto desde la galería o desde la cámara

8 ●Dado un bitmap, guardarlo en la SDCard: String root = Environment.getExternalStorageDirectory().toString(); File myDir = new File(root + "/saved_images"); myDir.mkdirs(); String fname = "Image.jpg"; File file = new File (myDir, fname); if (file.exists ()) file.delete (); FileOutputStream out = new FileOutputStream(file); photo.compress(Bitmap.CompressFormat.JPEG, 90, out); out.flush(); out.close(); Mostrar una foto desde la galería o desde la cámara

9 ●Recuperar imagen de la SDCard String root = Environment.getExternalStorageDirectory().toString(); String fname = "Image.jpg"; File file = new File(root + "/saved_images/"+fname); if (file.exists ()) { imageView.setImageBitmap(BitmapFactory.decodeFile(file.getAbsolu tePath())); } Mostrar una foto desde la galería o desde la cámara

10 TP Fotos 1.Cargar (futbolistas, empleados, alumnos) con foto o imagen de la galería. 2.Mostrar en una lista. 3.Mostrar y editar un elemento viniendo de la lista. 4.Reutilizar pantalla y código de agregar/editar. 5.Puede ser grupal.