Slide 1

Slide 1 text

No quiero vuestra basura en Android guía del autoestopista galáctico hacia un mejor código Antonio Nicolás Pina @ANPez Betabeers Murcia 2016

Slide 2

Slide 2 text

Índice ● Herramientas ● HTTP ● Base de datos ● Custom views ● Usa tu cabeza

Slide 3

Slide 3 text

Herramientas

Slide 4

Slide 4 text

Android Studio ● Es el IDE oficial. ● Además, desde finales de 2015, Eclipse no está soportado. ● La migración “no” es muy complicada. ● Gradle te simplificará mucho las cosas a largo plazo. ● ES ● EL ● IDE ● OFICIAL.

Slide 5

Slide 5 text

Librerías ● Siempre que puedas, utiliza una librería externa. ● No copies el código de una librería en tu proyecto. Utiliza gradle. ● Organiza tus dependencias en bloques. Te ayudará a mantenerlas. ● Utiliza variables para las versiones.

Slide 6

Slide 6 text

Librerías (y II) ● Una dependencia no se usa, se adopta. ○ Cuando importas a tu proyecto código externo, se convierte en tuyo. ○ Úsalo como si fuera tuyo. ○ Modifícalo como si fuera tuyo. ○ Publícalo como si fuera tuyo. ● Ten en mente siempre a NPM y left-pad. ● Usa-tu-cabeza.

Slide 7

Slide 7 text

HTTP

Slide 8

Slide 8 text

Retrofit

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Retrofit

Slide 11

Slide 11 text

Retrofit (II). Sin RxJava

Slide 12

Slide 12 text

Retrofit (III). Inicialización

Slide 13

Slide 13 text

Retrofit (IV). Inicialización (y II)

Slide 14

Slide 14 text

Retrofit (y V). Uso

Slide 15

Slide 15 text

Base de datos

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

SQLite ● SQLite es leeeeeeeeeeeeeeeento. No lo uses en el hilo de la UI. ● NO utilices DatabaseOpenHelper como un God Object. ● Utiliza transacciones siempre que vayas a insertar datos. ● No hagas como yo hice, no intentes ser más listo que la plataforma.

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

Utiliza un ORM

Slide 20

Slide 20 text

Retrofit + DBFlow

Slide 21

Slide 21 text

Vistas

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

Vistas ● No crees vistas con muchos niveles de anidación, como en el ejemplo. ● Utiliza XML siempre que sea posible. ● No temas utilizar tamaños absolutos (android:layout_width=”50dp”). ● Piensa en cómo mejorar la legibilidad de tu XML. ● Utiliza nombres de ficheros que tengan sentido. Por ejemplo: ○ activity_main.xml ○ activity_list_elections.xml ○ activity_list_elections_cell.xml

Slide 25

Slide 25 text

Define todo lo que puedas en el XML

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

Usa tu cabeza

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

Intents Justificación: ¿Entonces por qué Bitmap es Parcelable?

Slide 30

Slide 30 text

Intents ● ÚSALOS. ● No los uses. ● No confíes en singletons entre activities. ● Considera utilizar un Navigator.

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

Conclusiones ● Párate a pensar 5 segundos antes de tomar una decisión. ● Utiliza las herramientas que la plataforma te provee. ● Busca si tu problema ya lo ha resuelto alguien y, si puedes, úsalo. ● Una dependencia no se usa, se adopta. Antonio Nicolás Pina @ANPez