En la versión 3.0 aparecieron importantes novedades que Google quería que se incorporaran en las aplicaciones lo antes posible ( fragments , nuevas notificaciones, etc.). Con este fin creó las librerías de compatibilidad para poder incorporar ciertas funcionalidades en cualquier versión de Android.
Vídeo[ tutorial]: Las librerías de compatibilidad (support library)
Desde la versión 9.0 las librerías de compatibilidad también se incluyen en las librerías AndroidX 5 , que son parte del proyecto Jetpack 6 . En las librerías AndroidX se incluye tanto las librerías de compatibilidad como los componentes de Jetpack.
A diferencia de la librería de compatibilidad, cada paquete de AndroidX tiene su propia versión, y se mantienen y actualizan de manera separada. Todos los paquetes están en un espacio de nombre que empieza por androidx.*.
Algunos paquetes muy usados se muestran a continuación:
• v4 Support Library:(androidx.legacy:legacy-support-v4) Esta librería permitía utilizar muchas clases introducidas en la versión 3.0 cuando trabajábamos con un API mínimo. En la actualidad ya no es necesaria utilizarla, dado que ya es recomendable utilizar como API mínimo la versión 4.0 o, superior. Puede usarse en una aplicación con nivel de API 4 (v1.6) o superior. Incorpora las clases: Fragment, NotificationCompat, LocalBroadcastManager, ViewPager, PagerTitleStrip, PagerTabStrip, DrawerLayout, SlidingPaneLayout, ExploreByTouchHelper, Loader y FileProvider.
• appcompat: (androidx.appcompat) Permite utilizar un IU basado en la Barra de Acciones siguiendo especificaciones de Material Design. Se añade por defecto cuando creamos un nuevo proyecto. Incorpora las clases: ActionBar, AppCompatActivity, AppCompatDialog y ShareActionProvider.
• recyclerview: (androidx.recyclerview) Incorpora la vista RecyclerView, una versión mejorada que reemplaza a ListView y GridView.
• constraintlayout: Da soporte al layout ConstraintLayout.
• preference: (androidx.preference) Incorpora las clases CheckBoxPreference y ListPreference usadas en preferencias.
• cardview: (androidx.cardview) Incorpora la vista CardView, una forma estándar de mostrar información especialmente útil en Android Wear y TV.
• palette: (androidx.palette) Incorpora la clase Palette, que permite extraer los colores principales de una imagen.
• mediarouter: (androidx.mediarouter) Da soporte a Google Cast.
• Design Support Library:(com.google.android.material) Librería que incorpora varios componentes de Material Design.
Si tienes dudas sobre los nuevos paquetes utilizados consulta la siguiente tabla: https://developer.android.com/jetpack/androidx/migrate
1.7. Creación de un primer proyecto
Utilizar un entorno de desarrollo nos facilita mucho la creación de aplicaciones. Esto es especialmente importante en Android dado que tendremos que utilizar una gran variedad de ficheros. Gracias a Android Studio, la creación y gestión de proyectos se realizará de forma muy rápida, acelerando los ciclos de desarrollo.
Ejercicio:Crear un primer proyecto
Para crear un primer proyecto Android, con Android Studio sigue los siguientes pasos:
1.Selecciona File > New > New Project.. .
2.En primer lugar, podrás indicar la plataforma para la que quieres desarrollar (teléfonos y tabletas, Wear OS, TV, ...) y el tipo de actividad inicial que quieres en tu aplicación:
En este curso nos centraremos en las aplicaciones para teléfonos y tabletas, por lo que has de seleccionar siempre la primera pestaña. Has de saber que la plataforma Android también permite desarrollar aplicaciones para dispositivos wearables, Google TV, Android Auto o dispositivos de internet de las cosas.
Observa cómo para este tipo de aplicación puedes elegir diferentes clases de actividades que incorporen ciertos elementos de uso habitual, como menús, botones, anuncios, etc. El concepto de actividad será explicado más adelante. Selecciona Empty Activity para añadir una actividad inicial.
3.Pulsa Next para pasar a la pantalla donde se rellenan los detalles del proyecto. Puedes dejar los valores por defecto:
A continuación, vemos una descripción para cada campo:
Name: Es el nombre de la aplicación que aparecerá en el dispositivo Android. Tanto en la barra superior, cuando esté en ejecución, como en el icono que se instalará en el menú de programas.
Package name : Indicamos el nombre de paquete de la aplicación. Las clases Java que creemos pertenecerán a este paquete. Como veremos a lo largo del curso, el nombre del paquete también es utilizado por Android para múltiples funciones. Por ejemplo, para determinar en qué directorio se instala la aplicación.
Nota sobre Java/Kotlin: El nombre del paquete debe ser único en todos los paquetes instalados en un sistema. Por ello, cuando quieras distribuir una aplicación, es muy importante utilizar un dominio que no puedan estar utilizando otras empresas (por ejemplo: es.upv.elgranlibroandroid.proyecto1). El espacio de nombres “com.example” está reservado para la documentación de ejemplos (como en este libro) y nunca puede ser utilizado para distribuir aplicaciones. De hecho, Google Play no permite publicar una aplicación si su paquete comienza por “com.example”.
Save location: Permite configurar la carpeta donde se almacenarán todos los ficheros del proyecto.
Language: Selecciona Java o Kotlin, según el lenguaje con el que quieres programar la aplicación.
Minimum API level : Este valor especifica el mínimo nivel de la API que requiere tu aplicación. Por lo tanto, la aplicación no podrá ser instalada en dispositivos con una versión inferior. Procura escoger valores pequeños para que tu aplicación pueda instalarse en la mayoría de los dispositivos. Un valor adecuado puede ser el nivel de API 16 (v4.1), dado que cubriría prácticamente el 100 % de los dispositivos. O el nivel de API 19 (v4.4), que cubriría más del 95 % de los dispositivos. Escoger valores pequeños para este parámetro tiene un inconveniente: no podremos utilizar ninguna de las mejoras que aparezcan en los siguientes niveles de API. Por ejemplo, si queremos utilizar el motor de animaciones de propiedades en nuestra aplicación, tendremos que indicar en este campo la versión 3.0, dado que esta API no aparece hasta esta versión. Pero, en este caso, nuestra aplicación no se podrá instalar en la versión 2.3.
Читать дальше