Sin duda, ha visto muchas anotaciones como desarrollador de Android: son esos componentes de código extraños que comienzan con @ y, a veces, tienen parámetros conectados a ellos. Las anotaciones vinculan los metadatos con otros componentes del código, lo que le permite incluir información adicional en su código. Las anotaciones se pueden usar para producir nuevos archivos fuente basados en esa información mediante el procesamiento de anotaciones.
En la imagen de ejemplo que se muestra arriba, la «@» seguida de la palabra Anular es en realidad lo que se conoce como una anotación de Android. En este artículo, conoceremos el mismo en detalle.
Visión general
Varias bibliotecas conocidas en el desarrollo de Android utilizan el procesamiento de anotaciones, incluidas Picasso , Glide , PlaceHolderView y otras. El procesamiento de anotaciones se ha convertido en una de las funciones de lenguaje más críticas en la programación Java actual. Java ha soportado el procesamiento de anotaciones desde la introducción de Java 5, aunque solo recientemente se ha descubierto todo su potencial. En términos sencillos, el procesamiento de anotaciones se usa para producir archivos durante la compilación. Pero antes de profundizar demasiado en la anotación, aquí hay una nota:
GeekTip: el procesamiento de anotaciones solo se puede usar para crear nuevos archivos y no se puede usar para cambiar los existentes. El procesamiento de anotaciones se usa para muchos tipos de archivos, no solo para archivos .java.
¿Cómo exactamente las anotaciones generan los archivos?
Muchos ciclos de compilación se dedican al procesamiento de anotaciones. Durante cada ciclo, el compilador lee un archivo fuente Java y busca anotaciones que se hayan registrado para su procesamiento antes de llamar al procesador de anotaciones correspondiente. Este ciclo continúa hasta que se produce un archivo o finaliza si no se genera ningún archivo en ese ciclo. Sin más preámbulos, ¡continuemos y creemos una simple anotación nosotros mismos! Puede parecer abrumador, pero en realidad es fácil.
Paso #1: Creando un nuevo Módulo
El primer paso es crear un nuevo módulo que albergará sus anotaciones. Vaya a Android Studio y luego haga clic en Archivo -> Nuevo -> Nuevo módulo, luego elija Kotlin y luego, debe agregar un nombre al módulo como lo hace normalmente con sus proyectos de Android.
AdapterModel ahora es una clase normal de Kotlin, pero convertirla en una clase de anotación es sencillo. Simplemente coloque la palabra clave de anotación delante de la clase. Como ejemplo:
Paso #2: Configuración del módulo
- Nombre el módulo gfg-anotaciones.
- Configure el paquete en com.geeksforgeeks.gfg_annotations.
- Establezca el nombre de la clase en AdapterModule .
- Establezca el idioma como kt o Kotlin.
¡Presione ‘ Finalizar’ después de eso para crear su nuevo módulo de anotaciones!
Nota: AdapterModule ahora es una clase normal de Kotlin, pero convertirla en una clase de anotación es sencillo. Simplemente coloque la palabra clave de anotación delante de la clase. Me gusta:
clase de anotación AdapterModule
Paso n.º 3: Agregar funcionalidad a la anotación
¡Incluso si está creando una anotación básica, no puede evitar usar anotaciones adicionales en ella! Se utilizarán dos anotaciones comunes para anotar sus clases de anotación. El primero es crear un objeto de datos de valor como el que se menciona a continuación:
Kotlin
annotation class AdapterModule(val layoutId: Int)
Paso #4: Agregar otra anotación
Solo una anotación no es suficiente para que valga la pena usar el módulo, de hecho, todas las bibliotecas modernas que se mencionan en la parte anterior de este artículo han usado alrededor de 100 anotaciones diferentes para lograr la funcionalidad. Aunque el tema del uso y consumo de anotaciones es amplio y complejo, todo se reduce a lograr más con menos. Es decir, menos código (anotaciones) se transforma mágicamente en una mayor funcionalidad, y el procesamiento de anotaciones cataliza esta alquimia computacional.
No se preocupe por todas las líneas rojas de los códigos, solo son persistentes como una advertencia porque el módulo no está publicado con la documentación adecuada, y agregarles la documentación los eliminará, como en el Proyecto Android en GitHub todo el se eliminan las líneas rojas.
La versión final de este proyecto se puede descargar haciendo clic aquí .
Publicación traducida automáticamente
Artículo escrito por therebootedcoder y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA