Introducción a AndroidAnnotations

31
AndroidAnnotations Dejemos los espaguetis a los profesionales

Transcript of Introducción a AndroidAnnotations

AndroidAnnotationsDejemos los espaguetis a los

profesionales

Yo• Ingeniero Informático

• ~3 años de experiencia con desarrollo web Java y PHP

• Trabajo en el sector del Marketing

• Aficionado a Android

• Yonqui de los TV Shows américanos

• Arreglando “El Windows” a familiares y amigos desde los 14 años

• El “diseño gráfico” no es mi punto fuerte

Twitter: @jescobeitorEmail: [email protected]

LinkedIn: http://linkedin.com/in/jaescobar/Típica web que se hace todo el mundo y la abandona a su suerte:

http://www.escobeitor.com

Android no es lo suficientemente

Hipster

¿Qué es AndroidAnnotations?

https://github.com/excilys/androidannotations

• Código más limpio

• Código más simple

• Facilita tareas repetitivas y tediosas

• Proporciona una gran cantidad de utilidades que nos ahorran mucho dolor

• Bajo impacto en rendimiento

Desarrollo de aplicaciones Android mediante anotaciones

Mejor hacemos una app

Nuestra app nos permitirá buscar jugadores y ver estadísticas de sus partidas más recientes.

• Crearemos varias vistas• Usaremos la API de LoL• Cachearemos resultados en la BD• Manejaremos listas• Utilizaremos Fragments• Pequeño concurso al final (invito a una

birra de las caras al ganador)

https://github.com/josescgar/BetaLoL

Native vs AndroidAnnotations

Dependencias

Activity principal

SearchActivity.java

activity_search.xml

AndroidManifest

AndroidManifest.xml

Fragment principal

SearchFragment.java

Fragment principal

SearchActivity.java

Fragment principal

Servicio REST

LoLSummonerClient.java

Servicio REST

Summoner.java

LoLAPIErrorHandler.java

Utils.java

Manejando ListView

SummonerListAdapter.java

Manejando ListView

SummonerItemView.java

Poniéndolo todo junto

SearchFragment.java

Obteniendo los resultados

SearchFragment.java

Búsqueda de jugadores

Ver las partidas de un jugador

SearchFragment.java

SearchActivity.java

Ver las partidas de un jugador

GamesFragment.java

GamesFragment.java

Y cuando lo tenemos todo CASI listo

En la API de LoL, la lista de “Últimas partidas” no incluye el nombre del personaje que ha usado el jugador, solo su ID. Nos

toca hacer otra request para averiguarlo...

Po' tendremos que cachear

● Guardar los nombres de los campeones en la BD cuando los consultemos

● AndroidAnnotations ofrece un wrapper para ORMLite

● Debemos incluir las dependencias de ORMLite

Un par de anotaciones por aquí...

Champion.java

Un “Helpercillo” por alli...

Champion.java

Y arreglao'

GameItemView.java

GameItemView.java

Listado de partidas

awesomeness = totalKills + (int) Math.floor(totalAssists / 2);

¿Preguntas?