Abrir Camara, Tomar Foto y mostrar Imagen en Android Studio


Vamos a crear un proyecto o aplicacion en android studio que abrira la camara de android para que tomemos una foto y la foto se muestre en un ImageView desde la aplicacion de Android.

De el lado del dise~o de la aplicacion solo vamos a usar un boton y un elemento imageview.

La funcion del boton es abrir la camara y despues de tomarnos la foto, dicha foto se mostrara en el imageview.

Ahora veamos el codigo.

Codigo

Primero definimos las dos variables el boton y el imageview.

    Button b1;
    ImageView iv1;

Despues le asignamos al Button, el elemento button que esta en el dise~o y al imageview igualmente le asignamos el elemento que esta en el dise~o.

Tambien le asignanos al Button la funcion de abrir la camara al darle click.

b1 = (Button)findViewById(R.id.button);
        iv1 = (ImageView)findViewById(R.id.imageView);

        b1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent camerai = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(camerai, 123);
            }
        });

Y en el metodo onActivityResult que es el metodo que se ejecuta despues que se toma la foto para regresar a nuestra aplicacion.

        if (requestCode == 123) {
            // Se guarda la foto en una variable tipo bitmap
            Bitmap photo = (Bitmap) data.getExtras().get("data");
            // Se muestra la imagen en el imageview
            iv1.setImageBitmap(photo);
        }

Y listo a continuacion les dejo el codigo completo y tambien la opcion para descargar el proyecto y el APK.

    Button b1;
    ImageView iv1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        b1 = (Button)findViewById(R.id.button);
        iv1 = (ImageView)findViewById(R.id.imageView);

        b1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent camerai = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(camerai, 123);
            }
        });
    }
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        // Se busca que el codigo conincida
        if (requestCode == 123) {
            // Se guarda la foto en una variable tipo bitmap
            Bitmap photo = (Bitmap) data.getExtras().get("data");
            // Se muestra la imagen en el imageview
            iv1.setImageBitmap(photo);
        }
    }

Descargar

Link: https://drive.google.com/file/d/1z3kYwlTOep4Iq_ZXrDRChR8XdbLHnEly/view

El archivo APK se encuentra en la ubicacion: OpenCamera/app/build/outputs/apk/debug/app-debug.apk

Leave a comment