Aprender a programar y desarrollar aplicaciones Android

Ayer mi compañero de universidad Miquel me preguntó: ¿Qué libro me recomiendas para aprender a programar Android?
Supongo que esta es una pregunta común a mucha gente y como no tengo tiempo suficiente para hacer un curso, creo que lo mejor es dar una serie de libros y recomendaciones que son imprescindibles para adentrarse en el mundo Android.
Android se programa en Java, no es Java Java, ya que solo cogieron cierta parte del stack de Java. Android por ejemplo no tiene la parte de UI de AWT. Sin embargo, Aprende Java para eso te recomiendo adentrare con:
- Head First Java: Básico, gráfico y ameno.
- Effective Java: Para aprender en profundidad cuando tienes que usar A o B y porqué. Este libro puedes usarlo de referencia cuando tengas dudas, por ejemplo, cómo implementar una Enum, Generics, Annotations, Interfaces…
Después de Java toca adentrarse en los componentes de Android. Para eso te recomiendo los siguientes libros
Professional Android 2 Development : Un libro de Reto Meier, Advocate de Android, un libro muy teórico que toca todos los palos de Android hasta la 2.2 y con ejemplos de código. Una buena lectura para conocer componentes básicos, diseño de UIs, como usar los sensores del teléfono, intents, content providers… (si os suena a chino no os preocupéis
)
Android In Practice: Uno de los autores es el desarrollador de Qype, Matthias Kapple. Este libro hace poco que está disponible y por eso está actualizado hasta Android Honeycomb. Es un buenísimo libro que te introduce rápido con un par de ejemplos muy esclarecedores y que después presenta recetas ante típicos dilemas que tendrás en todas las aplicaciones que desarrollas. Por ejemplo: comunicación con una API, diseño de UIs para evitar fragmentación, Creación de widgets propios…
CommonsWare: Uno de los problemas con los libros de Android es que se desactualizan rápidamente. Gracias a Mark Murphy creador de CommonsWare, podrás tener lo último al momento con el modelo de subscripción: pagas 40$ anuales y recibes todos los libros actualizados hasta el momento. Ahora mismo son 3 libros:
- The Busy Coder’s Guide to Android Development
- The Busy Coder’s Guide to Advanced Android Development
- Android Programming Tutorials
No hace falta que leas los tres, sólo elige el que más te gusta leeteló y después estarás listo para programar. La mejor forma de aprender es leer código de los mejores así que te recomiendo:
- developer.android.com tiene que ser tu Biblia.
- Android en su mayor parte libera el código, aprovéchate de eso y descargare los más de 8Gb de código de Android. Así aprenderás de los mejores.
- code.google.com y git.com hay miles de proyectos abiertos: iosched, droidfu, ImageLoader, los repos de Javi Pacheco de TweetTopics y mis favoritos en google code
- Tus preguntas de Android serán respondidas en Stackoverflow el Q&A oficial.
- Prueba y erra, crea y mejora un producto propio.


Sergio Jiménez Mateo
Hola!
Los de CommonsWare tienen su parte gratis, ya que tienen Four-to-Free Guarantee Editions, es decir que a las 4.000 copias “vendidas” lo deben dejar libre.
Claro no tienes la última última versión… pero creo que es más que suficiente.
Ciao!
goshi0
Genial precisamente estaba buscando literatura !
ANFABI
HOLAPOR CASUALIDAD NO TIENES NOMBRE DE LIBROS Q VENGAN EN ESPAOÑOL Y SEAN IGUAL DE BUENOS? BUENO Y Q SE CONSIGAN FACILMENTE. SOY DE COLOMBIA
Sergio Jiménez Mateo
ANFABI:
Yo conozco uno en castellano que lo tenemos en la oficina del curro. Si quieres lo miro y te lo digo. Es bastante bueno aunque siempre lo mejor es en ingles ya que la documentación en castellano siempre deja mucho que desear.
Nos cuesta leer en ingles pero se entienden facil. Yo ya conocia los que hay en esta pagina y los recomiendo al 100%.
Saludos
Gonan
Anfabi, te recomendaría que te leyeras la web de desarrollo de Google que han puesto (la oficial, vamos) : http://developer.android.com/guide/index.html
Si te lees eso y te quedan dudas ya buscas en internet o algún libro. Pero de primeras te diría que leyendo lo que viene ahí ya saldrás listo para hacer muuuchas cosas.
ANFABI
GRACIAS POR SU RESPUESTAS. SERGIO ME GUSTARIA Q SIMPRE ME DIERAS EL NOMBRE DEL LIBRO PARA CHEKEARLO HABER Q TAL ES GRACIAS DENUEVO. Y TAMBN ESTA MUY BUENO TU APORTE GONAN GRACIAS REVIZARE EL LINK
alexanderq
gracias muy bueno
David Dayer
Hola Rallat, muy buena recopilación! No sé si lo has nombrado, pero por si acaso nombrar tambien como proyecto open source muy bueno el de foursquare http://code.google.com/p/foursquared/
Que aunque no está actualmente soportado, tiene mucho donde aprender.
Slds.
0x5d
Hola, buen día.
Yo estoy aprendiendo esto y pues te falta mencionar
una aplicación llamada SL4A que permite programar
Python, Perl, Java, JavaScript, etc. En nuestro android, así utilizando funciones internas del android mediante el import android en caso de Python o bien solo programar vía consola.
Saludos.
dani
Ola necesito ayuda porque tengo un MP5 con android 2.3, específicamente el ZIPY SMART FUN. ¿Como me descargo aplicaciones si no tengo nº de teléfono? Ningún familiar mio tiene android. Por favor decirme lo que puedo hacer. Gracias por adelantado a todos
Viviana Salazar
Hola,
Tengo un aplicativo en adnroid que lo que hace es redireccionar a una pagina web que utiliza el Arcgis. Desafortunadamente el arcgis no permite que los mapas se vean correctamente utilizando el navegador que viene por defecto con las tablets que utilizan Android. Debido a que este aplicativo se va a distribuir a varias personas requiero que al abrir el apk me redireccione a Firefox, esto es posible? Cómo se debe hacer? Muchas gracias!
panfilo
yo quiero crear un programa unico de androide sera smart gracias