Upgrade to Pro — share decks privately, control downloads, hide ads and more …

No quiero vuestra basura en Android

No quiero vuestra basura en Android

Presentación sobre buenas prácticas en Android en Betabeers Murcia XIII.

Antonio Nicolás Pina

June 30, 2016
Tweet

More Decks by Antonio Nicolás Pina

Other Decks in Programming

Transcript

  1. 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

    View full-size slide

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

    View full-size slide

  3. Herramientas

    View full-size slide

  4. 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.

    View full-size slide

  5. 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.

    View full-size slide

  6. 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.

    View full-size slide

  7. Retrofit (II). Sin RxJava

    View full-size slide

  8. Retrofit (III). Inicialización

    View full-size slide

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

    View full-size slide

  10. Retrofit (y V). Uso

    View full-size slide

  11. Base de datos

    View full-size slide

  12. 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.

    View full-size slide

  13. Utiliza un ORM

    View full-size slide

  14. Retrofit + DBFlow

    View full-size slide

  15. 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

    View full-size slide

  16. Define todo lo que puedas en el XML

    View full-size slide

  17. Usa tu cabeza

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  20. 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

    View full-size slide