hola amig@s hoy veremos un tutotial pequeño sobre como utilizar la cámara del celular en android studio, teníamos un post similar pero algo antiguo y había que actualizar y organizarlo un poco, ya saben conforme uno va aprendiendo va mejorando su código, en fin empezamos.
Debemos agregar unos permisos en nuestro AndroidManifest.xml
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Ahora debemos agregar un boton y un ImageView y quedara de la siguiente forma:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ImageView android:id="@+id/imagen" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@+id/btnCaptura" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" app:srcCompat="@android:color/background_dark" /> <Button android:id="@+id/btnCaptura" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tomar Foto" android:layout_marginBottom="77dp" android:layout_alignParentBottom="true" android:layout_alignLeft="@+id/imagen" android:layout_alignStart="@+id/imagen" /> </RelativeLayout>
Bueno ahora si nos queda trabajar la programación así que iremos a nuestro MainActivity.java
MainActivity
public class MainActivity extends Activity implements OnClickListener{ Button btn; ImageView imagen; Intent i; final static int cons =0; Bitmap bmp; protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); checkCameraPermission(); init(); } public void init(){ btn = (Button)findViewById(R.id.btnCaptura); btn.setOnClickListener(this); imagen = (ImageView)findViewById(R.id.imagen); } private void checkCameraPermission() { int permissionCheck = ContextCompat.checkSelfPermission( this, Manifest.permission.CAMERA); if (permissionCheck != PackageManager.PERMISSION_GRANTED) { Log.i(“Mensaje“, “No se tiene permiso para la camara!.“); ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, 225); } else { Log.i(“Mensaje“, “Tienes permiso para usar la camara.“); } } public void onClick(View v){ int id; id=v.getId(); switch (id){ case R.id.btnCaptura: i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(i,cons); break; } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data){ super.onActivityResult(requestCode,resultCode,data); if (resultCode==Activity.RESULT_OK){ Bundle ext = data.getExtras(); bmp = (Bitmap)ext.get(“data“); imagen.setImageBitmap(bmp); } } }
Bueno y que hay de nuevo en esta version a la antigua, aqui agregamos unos permisos en un método llamado checkCameraPermission el cual nos pedirá en una nueva venta el permiso correspondiente si podemos usar o no la cámara y con eso no se detendrá la aplicación y tampoco dará otros errores.
y el producto final seria algo así:
Igual si piensas que hablo escribo en chino te dejo el ejercicio:
Hola soy Alex Céspedes fundador de ANDROFAST, programo algunas cosas por diversión, me gusta aprender cosas nuevas y estoy pendiente de todo lo que tenga que ver con tecnología. Este blog lo cree para todas las personas que tengan dificultades en la programación, para ser sincero nunca fui bueno y reprobé algunos cursos de programación, pero mis ganas de aprender pudieron más. SI YO PUEDO TU PUEDES ANIMO!
excelente mi brother
Que tal amigo excelente tutorial, esa imagen en donde se guarda, quiero insertarla en una base de datos phpmyadmin.
Gracias por tu respuesta.
Saludos!
Si lo que quieres es guardar en un destino que tu quieras a la imagen ve este ejercicio, por ejemplo aquí lo guardamos en una carpeta llamada “AndroFacil” tu puedes llamarle como quieras: Como utilizar la cámara del celular en android studio