Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

Android Annotations: Get Annotation

David Sebastián Majón
  • Escrito por David Sebastián Majón el 16 de Mayo de 2019
  • 1 min de lectura | Desarrollo móvil
Android Annotations: Get Annotation
El reproductor de video será cargado en breves instantes.

Aprende a generar facilmente y paso por paso una API Rest completa y un cliente API Rest completo desde el framework AndroidAnnotations.

Por qué emplear AndroidAnnotations

AndroidAnnotations es un framework que facilita notablemente el desarrollo con Android, y que además a la hora de crear un cliente API Rest nos permite hacerlo de forma más sencilla, creando una interfaz con sus métodos, y la API se genera de forma automática.

Creación de métodos para la API Rest

Comenzamos abriendo Android Studio para crear un nuevo proyecto, en este caso seleccionando una actividad vacía (empty activity) y manteniendo la configuración por defecto.

Después hay que añadir las dependencias necesarias. En el módulo app de build.gradle tenemos que incluir las dependencias tanto de Android Annotations como de Spring Android:

def AAVersion = '4.6.0'
def SAVersion = ‘2.0.0.M3’
def JVersion = ‘2.9.8’
dependencies {
    annotationProcessor "org.androidannotations:androidannotations:$AAVersion"
    implementation "org.androidannotations:androidannotations-api:$AAVersion"
    annotationProcessor "org.androidannotations:rest-spring:$AAVersion"
    implementation "org.androidannotations:rest-spring-api:$AAVersion"
    implementation "org.springframework.android:spring-android-rest-template:$AAVersion"
    implementation "com.fasterxml.jackson.core:Jackson-databind::$JVersion"

    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

De esta forma ya tenemos todas las dependencias que necesitamos para crear nuestro cliente para una API Rest.

Además, para que las partes que dependan den Maven central se puedan descargar correctamente, tenemos que sustituir en el archivo del proyecto de nuestra aplicación de build.gradle lo siguiente:

allprojects {
      repositories {
              google()
              jcenter()
                   }
	    }

Por este otro código:

allprojects {
       repositories {
               google()
               jcenter()
               maven {
                       url ‘https://repo.spring.io/libs-milestone’
                     }
                    }
             }

Sincronizamos para acabar y así ya tenemos todo preparado para poder crear nuestro propio cliente de forma sencilla con Android Annotations y Spring Android.

Para continuar necesitamos crear nuevo paquete llamado restclient desde el menú Project, dentro de la carpeta app/java/com.example.myapplication con la opción New/Package:

Imagen 0 en Android Annotations: Get Annotation

Una vez creado, en el mismo necesitamos crear una interfaz, con la opción New/Java Class:

Imagen 1 en Android Annotations: Get Annotation

Le damos el nombre MyRestClient, elegimos que sea de tipo Class y la creamos pulsando OK.

Tras crearse es nuevo archivo, tenemos que sustituir el código que se genera por defecto:

package com.example.myapplication.rest;

	public class MyRestClient {
	}

Por este otro:

package com.example.myapplication.rest;

	import org.androidannotations.rest.spring.annotations.Rest;
	import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;

@Rest(rootUrl = "http://192.168.0.184:8080/types", converters = { MappingJackson2HttpMessageConverter.class })
	public interface MyRestClient {

			@Get(“/get/{id}”)
			Object getObjectById(@Part int id);

	}

En este momento ya tenemos creado el cliente de la API Rest, le hemos añadido el método @Get, que consumirá en el get, y la API Rest necesita un id para obtener el elemento. Es capaz de recuperar esta id y lo añada como entrada al método que hemos definido en la interfaz.

Con esto ya se habría definido un cliente de una API Rest con un método @Get.

Relacionado

Te dejamos una selección de cursos, carreras y artículos

Programador Android

Programador Android

carrera

Incluye 6 cursos:

  • Curso de Introducción a la programación con Pseudocódigo
  • Curso de Java 8 desde Cero
  • Curso de Git, GitHub y Jekyll

y 3 cursos más!

Duración: 47 horas y 1 minuto

Android Annotations: UiThread Annotation

Android Annotations: UiThread Annotation

Desarrollo móvil

14 de Mayo de 2019

En esta práctica podrás ver cómo trabajar con concurrencia y API Rest empleando el framework AndroidAnnotations facilmente paso por paso.

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars