Aplicaciones

Curso Android desde cero #46 | Cámara de los dispositivos Android – Tomar fotografías APK PC

Hola este video estará relacionado con aplicacion android desde cero puedes ver en nuestra web una gran cantidad de aplicaciones para aplicacion android desde cero, recuerda que todo el contenido aquí es tirado solo te pedimos que compartas el articulo por redes sociales si te ha servido mucho contenido sobre aplicacion android desde cero es de las mejores versiones para tu móvil Android un sistema que es popular en los Smartphones y cada vez es mas popular

Curso Android desde cero con Android Studio – En esta entrega del curso de programación en Android, aprenderás a utilizar la cámara de los dispositivos Android para tomar fotografías o capturar imágenes.

La Geekipedia de Ernesto
➞ Facebook https://www.facebook.com/LaGeekipediaDeErnesto/
➞ Instagram https://www.instagram.com/lageekipedia/
➞ Twitter https://twitter.com/LaGeekipedia

═════════════════════════════════════════

Atención y terapia psicológica:
https://www.facebook.com/edithgeorgina.bobadillaramirez.3

═════════════════════════════════════════

Material: https://goo.gl/YfeHdr

═════════════════════════════════════════

Documentación Android – Comunicación a cámara:
https://developer.android.com/training/camera/photobasics

═════════════════════════════════════════

Formalidad Provider: (Debes agrear la tolerancia y falleba de etiquetas)

provider
android:name=”android.support.v4.content.FileProvider”
android:authorities=”com.example.android.fileprovider”
android:exported=”false”
android:grantUriPermissions=”true”
meta-data
android:name=”android.support.FILE_PROVIDER_PATHS”
android:resource=”@xml/file_paths”
/meta-data
/provider

═════════════════════════════════════════

Moral de permisos en MainActivity.java:

if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED)
ActivityCompat.requestPermissions(MainActivity.this, new String[]Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA, 1000);

═════════════════════════════════════════

Descarga del plan: https://goo.gl/A1XoJP

Curso Java desde cero: https://goo.gl/TahCqR

Curso Android desde cero: https://goo.gl/i16McJ

Curso Java Intermedio: https://goo.gl/iHNTdW
Hola gracias por revistar nuestro sitio aquí encontraras programas juegos y muchas cosas mas
Esta atento a todas las cosas que te puedan suceder con los horoscopos diarios que te brinda esta web lo mejor para retener como estara el dia y que te deparan los astros
Este 2019 viene con todo y nuevas peliculas se estrenaran
Serries anime y estrenos como Bird Box se encuentran aquí
La nuevas pelicula de Dragon Ball Super estara arreglado para que la veas
Las nuevas peliculas estreno del 2019 tambien las encontraras aqui
Puedes descargar ese colección que tanto buscabas utiliza el buscador y encuentra los nuevos estrenos en este 2019
Tutoriales y muchas cosas mas podras encontrar aquí en este sitio
Dale me gusta a nuestra pagina de facebook y siguenos para que te notifiquemos de algun nuevo placer que este saliendo
Programas con su respectivo crack podras encontrar en el mejor servidor adecuado para su descarga sigue las instrucciones al pie de la verso y podras usarlo sin restricciones te deseo un buen año y espero que la informacion que este aquí te sirva hasta luego

About the author

admin

35 Comments

Click here to post a comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

  • Si alguien tiene error con el código "Bitmap imageBitmap = (Bitmap) extras.get("data");", la solución se encuentra sustituyendo el código:

    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {

    Bundle extras = data.getExtras();

    Bitmap imageBitmap = (Bitmap) extras.get("data");

    img.setImageBitmap(imageBitmap);

    }

    Por:

    Bitmap takenImage = BitmapFactory.decodeFile(photoFile.getAbsolutePath());

    img.setImageBitmap(takenImage);

    Saludos.

  • Pase varias horas intentándolo, pero realmente no pude hacer que funcione, el programa se me cierra cuando pulso el botón para tomar la foto, el problema es que en los vídeos hay algunos métodos que ahora ya no esta vigentes y por ende ya no se arregla de la misma forma

  • Este curso está buenísimo!! Pero deberías hacer otro video nuevo sobre la cámara porque hay errores y muchos no sabemos hacerla bien!!! Ojala puedas hacerlo con las nuevas actualizaciones de android studio, que pueda tomar foto, mostrar la foto, que se pueda ver en la galería y se pueda guardar! Gracias

  • Hola Ernesto, Saludos a toda la comunidad gracias por tus maravillosos videos, pido ayuda si alguien le paso , tengo dos cosas que me pasaron
    1. para el ContentDescription solo me aparecio "VideoView Button Error" osea en vez de "Nombre app"
    2. la plicacion no corre solo se me cierra en cuanto lo abro
    Cordiales Saludos

  • COmo siempre optimos contenidos.
    te queria decir que para android studio 4.0.en el metodo onActivityResult() asi como de la documentacion de Android el codigo marca error porque aparte la variable static final que si le hacia falta(muchas gracias), es necesario tambien una supercall para este metodo , es decir:

    static final int REQUEST_IMAGE_CAPTURE = 1;

    @Override

    protected void onActivityResult (int requestCode, int resultCode, Intent data) {

    //sin esta supercall no funciona no lo dice la documentacion,

    //Uso el metodo onActivityResult() de la clase padre.

    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {

    Bundle extras = data.getExtras();

    Bitmap imageBitmap = (Bitmap) extras.get("data");

    iv.setImageBitmap(imageBitmap);

    }
    sin esta palabra reservada "super" el metodo marca error y no deja compilar.

    ….del resto como siempre, muchas gracias por tus contenidos

    saludos

  • Buen dia!!! alguien sabe como puedo solucionar este mensaje que error que me aparece cuando le doy tap a la imagen de la camara dentro de mi app?

    java.lang.IllegalStateException: Could not find method tomarFoto(View) in a parent or ancestor Context for android:onClick attribute defined on view class androidx.appcompat.widget.AppCompatImageButton with id 'imageButton'

  • Teno un problema. Cuando pongo photoURI sin .toString(), guarda bien la foto, pero cuando llego a esta línea:

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    el atributo data llega null y se cierra la app.

    Cuando pongo photoURI.toString(), no da error y muestra la imagen en el ImageView, pero entonces no guarda la foto.

    Alguien me puede ayudar??

  • Buen día Ernesto, muy buen aporte muchas gracias.
    Crees que sea posible que subas algun tutorial de ejercicios similares a este, pero utilizando la memoria interna del dispositivo? ya que en este y otras actividades (La grabadora de voz por ejemplo), al probarla en mi celular esta falla, creo yo que es debido a que no tengo una memoria externa en mi telefono: utilizó solo la memoria interna del dispositivo.

    O bien, si alguien me puede aportar documentación u orientación de como corregir esto, lo agradeceria
    Gracias!

  • Para un funcionamiento optimo:

    1. Hacer 'photoURI' y 'photoFile' de ambito globlal,
    2. asegurarse de que el path sea exactamente así:
    path="Android/data/com.example.fotograpp/files/Pictures"/>
    3 remplazar la función onActivityResult por la que les dejo acá abajo
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == REQUEST_TAKE_PHOTO && resultCode == RESULT_OK) {

    Bitmap bitmap;

    try {

    bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), photoURI);

    img.setImageBitmap(bitmap);

    } catch (FileNotFoundException e) {

    e.printStackTrace();

    } catch (IOException e) {

    e.printStackTrace();

    }

    }else if(resultCode == RESULT_CANCELED)

    photoFile.delete();

    }

  • Hola a todos, estoy queriendo usar la cámara para poner una simple foto de perfil, hice todos los pasos tal cual, pero no logro que funcione, el único error que me marca es en el siguiente método:

    //Método para mostrar una vista previa de la foto tomada

    static final int REQUEST_IMAGE_CAPTURE = 1;

    @Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {

    Bundle extras = data.getExtras();

    Bitmap imageBitmap = (Bitmap) extras.get("data");

    img.setImageBitmap(imageBitmap);

    }

    lo que sucede es que "onActivityResult" queda subrayado en rojo como si fura un error o faltara algo pero no se que pueda ser, alguna sugerencia?

  • Hola. qué tal?
    Te agradezco el que comparta sus conocimientos. Te cuento que desarrolle el ejercicio de este video pero después de tomar la foto se me cae la app en la línea de código donde se envia la foto al imagenView:

    imageView.setImageBitmap(imageBitmap);

    Al depurarlo, me muestra el siguiente error:
    "Cannot access android.app.ActivityThread.ActivityClientRecord"

    Espero me puedas orientar para resolver este problemas.
    Saludos

  • Rectifico el otro comentario 🙁
    Lo de poner toString() creo que solo complica las cosas porque luego la imagen no es visible una vez guardada.
    No hay que añadir ningun otro startActivity, como habia dicho antes. Revisar bien el archivo paths y las variables static necesarias

  • PARA LOS QUE SE LES CIERRA LA APP. FALTAN 2 COSAS:
    — Como dice Sebastian Gallego Flores, hay que poner el .toString() como bien indica

    // Continue only if the File was successfully created
    if (photoFile != null) {
    Uri photoURI = FileProvider.getUriForFile(this,
    "com.example.android.fileprovider",
    photoFile);
    AQUI ESTAAA
    takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI.toString());
    startActivityForResult(takePictureIntent, REQUEST_TAKE_PHOTO);

    }

    LA SEGUNDA COSA MUY IMPORTANTE! En la web de developers Ernesto creo que omitio informacion para ver si encontrabamos el fallo. FALTA UNA LINEA DE CODIGO!!!
    public void tomarFoto(View vista) {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
    startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); ///// ESTA ES LA LINEA Q FALTA!!!
    File photoFile = null;
    try {
    photoFile = createImageFile();
    } catch (IOException ex) {

    }

    if (photoFile != null) {

    Uri photoURI = FileProvider.getUriForFile(this, "com.example.android.FileProvider", photoFile);
    takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI.toString());
    startActivityForResult(takePictureIntent, REQUEST_TAKE_PHOTO);
    }
    }
    }
    FALTABA LA LINEA starActivity

  • Tengo problema en esta línea:
    Uri photoURI = FileProvider.getUriForFile(this,"com.example.android.fileprovider", photoFile);
    He revisado y arreglado todo lo que he leído aquí, pero no logro hacer que funcione. Cuando debuggeo, entra en esa línea y se pierde por ahí.
    El error me dice: "Could not execute method for android:onClick"
    ¿Pq me dice que no puedo ejecutar el método en el onClick? Yo lo declaré público, y lo seleccioné en el onClick del botón y todo. No sé a qué se debe ese error. Espero que alguien pueda ayudarme. El método se ejecuta bien hasta esa línea. He comprobado que crea el nombre del archivo y todo.

  • Casi no me funciona, finalmente corrió, toma la foto, en el emulador todo OK, en dispositivo móvil algo falta y no guarda la foto.
    Para los que le sirva tengan en cuenta los comentario de las personas que solucionaron el problema que se resume en 2:
    1. En manifest en el provider se debe dejar esta línea: android:name="androidx.core.content.FileProvider"
    2. Si les corre la aplicación y al pulsar la cámara se les cierra debe ser un error en el path, o en los permisos de almacenamiento.

  • Ernesto, descargue tu proyecto y no me funciona. Aparece el siguiente mensaje: The application could not be installed: INSTALL_FAILED_CONFLICTING_PROVIDER

    que puede ser?.

    Saludos y muchas gracias.