Aprendiendo Android: Lecciones aprendidas (I) con Apatxas

Hace algún tiempo que quería aprender Android y el no estar trabajando me ha permitido poder dedicar más tiempo a ello.
Empecé con los siguientes cursos en Coursera:


La verdad es que están bien a modo de introducción pero yo personalmente no consigo sacar toda la chicha que me gustaría hasta que no me pongo manos a la obra.
Hasta ahora había hecho pequeñas pruebas y funcionalidades que no iban a ningún sitio y terminaba cansándome y no llegaba a ningún puerto. Así que me puse un objetivo: publicar una app en Google Play.

Me "inventé" una aplicación: Apatxas. La idea es sencilla: repartir los gastos compartidos entre varias personas. Pensé en esas veces en las que salimos de vacaciones con amigos o estamos compartiendo piso: vamos generando gastos, que a veces pagan unos y a veces otros y luego llega el momento de hacer las cuentas.

Me puse manos a la obra y este es el resultado:

Apatxas, compartiendo gastos


Lecciones aprendidas
He aprendido mucho, pero quiero destacar las siguientes lecciones que me servirán para no cometer los mismos errores en mi segunda aplicación (que aún me quedan muchas cosas de Android por aprender):

Teletrabajo: más que una forma de trabajo un modo de vida

Aunque a día de hoy no estoy trabajando, mis últimas experiencias laborales han sido en la "modalidad de teletrabajo". He trabajado durante más 5 años desde casa y para mi ha sido una experiencia más que positiva, hasta el punto de que es lo que me gustaría hacer en un futuro.
Para mi se ha convertido en algo más que un posible modo de trabajar, se ha convertido en un modo de vida.
Se que hay gente reticente, gente que le gustaría pero no se atreve, gente que jamás contrataría o trabajaría con alguien en remoto.... Con este post no trato de convencer a nadie ni de abrir un debate. Mi única intención es compartir mi experiencia y si le sirve a alguien para poder animarse a probarlo que lo haga. Y de paso si alguien quiere dejarme algún consejo en los comentarios será bienvenido.

Iconos en Android

Esto es una "chuleta" que recopila la información que me he dado cuenta que busco/uso recurrentemente desde que estoy haciendo un desarrollo de una app android. Iré completándola y corrigiéndola si es necesario. Si a alguien más le sirve, pues mejor que mejor. Estoy utilizando la versión de iconos de Material Design ofrecidos por Google.

¿Dónde encontrar los iconos Material Design de Google? 
https://github.com/google/material-design-icons
En mi caso estoy utilizando los .png que se encuentran en las carpetas drawable-densidad

Preview de los iconos
http://google.github.io/material-design-icons/

Densidades de pantalla y escala

MDPI
Medium Pixel Density (baseline)
1 x
HDPI
High Pixel Density
1.5 x
XHDPI
Extra High Pixel Density
2 x
XXHDPI
Extra Extra High Pixel Density
3 x
XXXHDPI
Extra Extra Extra High Pixel Density
4 x
LDPI
Low Density(*)
0.75 x

(*) Normalmente no es necesario iconos específicos porque Android reduce HDPI a la mitad para obtener el tamaño requerido.

Tamaño de iconos en función del tipo


MDPI(*)
.png de material design icons
Launcher
48 x 48 px
--
Action Bar
24 x 24 px
/drawable-.../ic_..._24dp.png
Small
16 x 16 px
/drawable-.../ic_..._18dp.png
Notifications
24 x 24 px
/drawable-.../ic_..._24dp.png

Launcher for Google Play
512 x 512 px
--

(*) Para el resto de densidades escalar según la tabla de escala

Nomenclatura de iconos en función del tipo

Launcher
ic_launcher_xxxx.png
Menu / Action Bar
ic_menu_xxxx.png
Small / Contextual
ic_xxxx.png
Status bar
ic_stat_notify_xxxx.png
Tab
ic_tab_xxxx.png
Dialog
ic_dialog_xxxx.png


Android Asset Studio: http://romannurik.github.io/AndroidAssetStudio/index.html