¿Qué es Jetpack Compose?

Jetpack Compose es la biblioteca de IU de Android más reciente que ha tomado la plataforma de desarrollo móvil de Android por sorpresa. Con Jetpack Compose, los desarrolladores pueden construir aplicaciones de alta calidad y sofisticadas que son más fáciles de mantener y escalar. La introducción de Jetpack Compose representa un cambio significativo en la forma en que se crea la interfaz de usuario de una aplicación de Android. En lugar de trabajar con una jerarquía de vistas de Android, Jetpack Compose utiliza un enfoque de programación declarativa para definir la IU de una aplicación. Esto significa que los desarrolladores pueden escribir código que describe cómo debe verse la interfaz de usuario de una aplicación, en lugar de manipular directamente los objetos de vista. Jetpack Compose también viene con una serie de herramientas que facilitan el diseño y la personalización de la interfaz de usuario de una aplicación. Desde una amplia variedad de widgets personalizados hasta la capaci...

Solicitar permisos en Android en tiempo de ejecución más fácilmente

Feliz año a todos.

Hace tiempo que quería compartir con ustedes un forma más sencilla para solicitar permisos en tiempo de ejecución y con menos código o al menos, para no repetir tanto los métodos de solicitud de permisos en todos lados.

En este enlace pueden descargar el fragmento que hace la magia.

Extiende tu fragment de RequestPermissionFragment, implementa los métodos en tu Fragmento, lo que tienes que hacer en tu Fragmento concreto es solicitar el(los) permiso(s) y luego  verificar el permiso que quieras con ActivityCompat.checkSelfPermission, algo así:

/** * Request fine location permission */private void requestFineLocationPermission() 
{
   requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, REQUEST_CODE_ACCESS_FINE_LOCATION);
}


/** * Set settings of google map UI */private void setGoogleMapUISettings() {
   
   if (ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
      return;   
}
Si la aplicación no tiene permiso va a retornar y no hará nada. Pero los métodos extendidos de  se ejecutarán y podrás mostrar tus diálogos.

/** * Handled when all permissions requested are granted * * @param requestCode Request code */
@Overridepublic void onPermissionsGranted(int requestCode) {
   //cool nothing happens}

/** * Gets whether you should show UI with rationale for requesting a permission. * You should do this only if you do not have the permission and the context in which * the permission is requested does not clearly communicate to the user what would be the * benefit from granting this permission. */
@Overridepublic void onShouldShowRequestPermissionsRationale() {
   showRationaleLocationDialog();}

/** * Handled when all permissions requested are denied * * @param requestCode Request code */

@Override
public void onPermissionsDenied(int requestCode) {
   makeSnackBarSettings(coordinatorLayout, R.string.permission_location);
}

Espero les sea de utilidad.

Happy coding.

Comentarios

Entradas más populares de este blog

¿Qué es Jetpack Compose?

Hacer la barra de status transparente en Android.