Aprovechando que está el foro animado en Android ultimamente, molaría elaborar un pequeño recopilatorio de librerías externas que hayais usado en vuestras Apps y os hayan hecho la vida más fácil, o hayan hecho que vuestras apps hayan quedado más vistosas y curiosas. Seguro que conoceis un montón que yo no conozco, y no habeis usado algunas de las que cito!
Esenciales: roboelectric: Unit testing cómodo y fácil para Android. Con ella se puede hacer TDD dagger: Librería para hacer inyección de dependencias. Muy util para un código limpio, legible y mantenible. otto: Implementa un bus de eventos muy fácil de utilizar, para gestionar eventos asíncronos escribiendo menos código. ButterKnife: Otra librería esencial. Permite inyectar views y hacer una enorme variedad de cosas con ellas.
imageviewzoom: Para hacer imagenes ampliables tanto con pellizco (zoom-in y zoom-out) como con doble tap. viewpagerindicator: extensión de actionbarsherlock que permite customizar las TabBars hasta limites insospechados. Probad los samples y os sorprendereis de la cantidad de cosas que se pueden hacer pulltorefresh: Para implementar el tiron por arriba y por abajo de las listviews. También compatible con Android 2.x.x actionbar-pulltorefresh: Similar a lo que incorpora la app de GMail para tirar de la actionbar y refrescar. retrofit: Para consultar APIs REST cómodamente.
StickyListHeaders: Listados agrupados en secciones, y a la que pertenecen los elementos que scrolleas se queda pegada arriba (ejemplo: App instagram). DynamicGrid: GridView con elementos reposicionables mediante drag'n'drop OsmDroid: Otra librería muy completa para visualizar mapas OpenStreetMaps (tanto online como offline) en Android Osmand: Similar a la anterior, pero incluyendo rutas GPX para instrucciones de navegación BetterPickers: pickers de fecha, hora... etc zxing: Lector de QR Volley: Para consultas a APIs REST -> Altamente recomendada OrmLite: Mapeo objeto-relacional facil y sencillo
Algunas webs que he recopilado para mi empresa:
Compilations:
http://android-arsenal.com/ - Massive list of libraries
http://androidweekly.net/toolbox - Another list
UI:
http://www.android-app-patterns.com/ - App patterns
http://androidpttrns.com/ - More UI patterns
http://android.inspired-ui.com/ - UI Inspiration
http://androidniceties.tumblr.com/ - Nice UIs
http://www.androiddesign.tips/ - Design tips and tools
Articles:
https://medium.com/@romainguy/c368bbde87d9 - Efficient text rendering with OpenGL ES
http://www.doubleencore.com/2013/05/layout-inflation-as-intended/ - How to properly inflate layouts
http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html - Handle configuration changes with fragments
http://eclipsesource.com/blogs/2013/09/19/crossing-boundaries-with-the-new-android-viewoverlay/ - Android ViewOverlay
http://www.bongizmo.com/blog/android-resources-each-developer-should-know/ - Android resources
http://www.doubleencore.com/2013/06/context/ - Android context
Libraries:
https://github.com/antonkrasov/AndroidSocialNetworks - Examples on how to log in with different social networks on your app
http://facebook.github.io/rebound/ - Spring dynamics to views
http://square.github.io/okhttp/ - An HTTP & SPDY client for Android and Java applications
http://square.github.io/retrofit/ - A type-safe REST client for Android and Java
http://square.github.io/picasso/ - A powerful image downloading and caching library for Android
https://github.com/koush/ion - Android Asynchronous Networking and Image Loading
Custom views:
http://prolificinteractive.com/blog/2014/04/30/parallax-pager-adding-depth-to-a-2-d-android-screen/ - Parallax Pager
http://www.androidviews.net/ - List of views
Tools:
http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html - Android Asset Studio
http://developer.android.com/distribute/promote/device-art.html - Device Art Generator
https://code.google.com/p/android-ui-utils/ - Android UI Utils
http://android-holo-colors.com/ - Android Holo Colors Generator
http://jgilfelt.github.io/android-actionbarstylegenerator/ - Action Bar Style Generator
http://android-ui-utils.googlecode.com/hg/asset-studio/dist/nine-patches.html - Simple Nine Path Editor
http://gradleplease.appspot.com - Gradle Dependencies finder
http://coh.io/adpi/ - Android DPI calculator
https://chrome.google.com/webstore/detail/android-sdk-samples-searc/mbiobcenjhldinmnbpjihaemkfofnmgf - Chrome extension to add links to samples and source code in developer.android.com
https://chrome.google.com/webstore/detail/android-sdk-search/hgcbffeicehlpmgmnhnkjbjoldkfhoin?hl=en - Chrome extension to search Android SDK docs (read description on the website)
http://androidxref.com/ - Provide easy access to Android source code and the tools required to setup a similar environment in a local environment.
Snippets:
http://androidsnippets.com/ - Snippets portal
Blogs:
http://www.sgoliver.net/blog/?page_id=3011 - Salvador Gómez
http://www.limecreativelabs.com/ - Antonio Leiva
http://cyrilmottier.com/archives/ - Cyril Mottier
http://www.curious-creature.org/category/android/ - Romain Guy
http://www.grokkingandroid.com/tutorials/ - Wolfram Rittmeyer
http://flavienlaurent.com/blog/archives/ - Flauvien Laurent
http://www.androiduipatterns.com/ - Juhani Lehtimäki
http://www.doubleencore.com/tag/android/ - Double Encore
http://novoda.com/blog - Novoda
http://www.androiddesignpatterns.com/ - Android Design Patterns (although they talk more about coding UX)
http://arnab.ch/blog/archives/ - Arnab CHakraborty
http://androiduiux.com/ - Taylor Ling
http://commonsware.com/blog/archive.html - Mark Murphy
http://udinic.wordpress.com/ - Udinic
http://sriramramani.wordpress.com/tag/android-2/ - Sriram Ramani
http://blog.stylingandroid.com/ - Mark Allison
http://daniel-codes.blogspot.de/ - Daniel Lew
http://www.technotalkative.com/ - Paresh Mayani
http://androideity.com/
BetterPickers: https://github.com/derekbrameyer/android-betterpickers
Pickes para time, date, number y muchos más.
Tiene una aplicación de ejemplo: https://play.google.com/store/apps/details?id=com.doomonafireball.betterpickers.sample
Actionbarsherlock esta deprecated, usad actionbarcompat que es la oficial de Google.
A esas yo añadiria Guava que es imprescindible en cualquier proyecto java, volley para lidiar con peticiones REST y robolectric para poder testear en condiciones.
yo ya he empezado a usar compat, pero sigue resultandome mas rapida y facil de trabajar la sherlock! al final cuando voy muy justo de tiempo opto por sherlock porque me sale todo a la primera y muy rapido, con la otra todavia me cuesta mogollon todo... sera por la inexperiencia :P
Otro update señoras y señores! Quito algunas deprecated que han quedado antiguas y añado otras esenciales.
Esto crece a una velocidad que se hace muy dificil mantenerlo al dia... jeje. Saludos
Genial, siempre vienen bien referencias a librerías, que siendo tantas algunas se nos escapan. Suelo utilizar, y recomiendo su uso, Otto, Butter Knife, Dagger y Volley, que aunque tienen su complejidad, sobre todo Dagger, permite ahorrarnos mucho código, y desarrollar proyectos más limpios, optimizados y escalables.
Buena aportación. Yo diría que prudencia con los buses de eventos (Otto), ya que si no se usan cuando se deben, pueden hacer que nuestro código sea un caos. Con respecto a la inyección de dependencias, prefiero Dagger2 a Dagger, ya que tiene menos boilerplate y es más sencilla de comprender y usar, no obstante en algunos casos estaremos obligados a usar Dagger (si se extiende el grafo en t. de ejecucion, por ejemplo).
tiene muchos generadores interesantes para customizar tu app al juego de colores que tu desees, adaptandose al maximo a la estructura de carpetas/recursos que tiene Android.
Hago un pequeño update. Le hago +1 a volley porque la estoy usando en una App y es comodisima, y a parte añado como recomendadas StickyListHeaders y DynamicGrid (ver post principal para enlaces).
Esenciales:
roboelectric: Unit testing cómodo y fácil para Android. Con ella se puede hacer TDD
dagger: Librería para hacer inyección de dependencias. Muy util para un código limpio, legible y mantenible.
otto: Implementa un bus de eventos muy fácil de utilizar, para gestionar eventos asíncronos escribiendo menos código.
ButterKnife: Otra librería esencial. Permite inyectar views y hacer una enorme variedad de cosas con ellas.
imageviewzoom: Para hacer imagenes ampliables tanto con pellizco (zoom-in y zoom-out) como con doble tap.
viewpagerindicator: extensión de actionbarsherlock que permite customizar las TabBars hasta limites insospechados. Probad los samples y os sorprendereis de la cantidad de cosas que se pueden hacer
pulltorefresh: Para implementar el tiron por arriba y por abajo de las listviews. También compatible con Android 2.x.x
actionbar-pulltorefresh: Similar a lo que incorpora la app de GMail para tirar de la actionbar y refrescar.
retrofit: Para consultar APIs REST cómodamente.
StickyListHeaders: Listados agrupados en secciones, y a la que pertenecen los elementos que scrolleas se queda pegada arriba (ejemplo: App instagram).
DynamicGrid: GridView con elementos reposicionables mediante drag'n'drop
OsmDroid: Otra librería muy completa para visualizar mapas OpenStreetMaps (tanto online como offline) en Android
Osmand: Similar a la anterior, pero incluyendo rutas GPX para instrucciones de navegación
BetterPickers: pickers de fecha, hora... etc
zxing: Lector de QR
Volley: Para consultas a APIs REST -> Altamente recomendada
OrmLite: Mapeo objeto-relacional facil y sencillo
[ Enlaces interesantes con muchas librerías ]
Este repo de GitHub de codepath
http://android-arsenal.com/
http://square.github.io
Android Asset Studio
Android Arsenal
02/02/2014 18:56
03/02/2014 15:19
01/07/2014 11:53
06/07/2014 11:34
Un saludo!
01/07/2014 11:55
Compilations:
http://android-arsenal.com/ - Massive list of libraries
http://androidweekly.net/toolbox - Another list
UI:
http://www.android-app-patterns.com/ - App patterns
http://androidpttrns.com/ - More UI patterns
http://android.inspired-ui.com/ - UI Inspiration
http://androidniceties.tumblr.com/ - Nice UIs
http://www.androiddesign.tips/ - Design tips and tools
Articles:
https://medium.com/@romainguy/c368bbde87d9 - Efficient text rendering with OpenGL ES
http://www.doubleencore.com/2013/05/layout-inflation-as-intended/ - How to properly inflate layouts
http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html - Handle configuration changes with fragments
http://eclipsesource.com/blogs/2013/09/19/crossing-boundaries-with-the-new-android-viewoverlay/ - Android ViewOverlay
http://www.bongizmo.com/blog/android-resources-each-developer-should-know/ - Android resources
http://www.doubleencore.com/2013/06/context/ - Android context
Libraries:
https://github.com/antonkrasov/AndroidSocialNetworks - Examples on how to log in with different social networks on your app
http://facebook.github.io/rebound/ - Spring dynamics to views
http://square.github.io/okhttp/ - An HTTP & SPDY client for Android and Java applications
http://square.github.io/retrofit/ - A type-safe REST client for Android and Java
http://square.github.io/picasso/ - A powerful image downloading and caching library for Android
https://github.com/koush/ion - Android Asynchronous Networking and Image Loading
Custom views:
http://prolificinteractive.com/blog/2014/04/30/parallax-pager-adding-depth-to-a-2-d-android-screen/ - Parallax Pager
http://www.androidviews.net/ - List of views
Tools:
http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html - Android Asset Studio
http://developer.android.com/distribute/promote/device-art.html - Device Art Generator
https://code.google.com/p/android-ui-utils/ - Android UI Utils
http://android-holo-colors.com/ - Android Holo Colors Generator
http://jgilfelt.github.io/android-actionbarstylegenerator/ - Action Bar Style Generator
http://android-ui-utils.googlecode.com/hg/asset-studio/dist/nine-patches.html - Simple Nine Path Editor
http://gradleplease.appspot.com - Gradle Dependencies finder
http://coh.io/adpi/ - Android DPI calculator
https://chrome.google.com/webstore/detail/android-sdk-samples-searc/mbiobcenjhldinmnbpjihaemkfofnmgf - Chrome extension to add links to samples and source code in developer.android.com
https://chrome.google.com/webstore/detail/android-sdk-search/hgcbffeicehlpmgmnhnkjbjoldkfhoin?hl=en - Chrome extension to search Android SDK docs (read description on the website)
http://androidxref.com/ - Provide easy access to Android source code and the tools required to setup a similar environment in a local environment.
Snippets:
http://androidsnippets.com/ - Snippets portal
Blogs:
http://www.sgoliver.net/blog/?page_id=3011 - Salvador Gómez
http://www.limecreativelabs.com/ - Antonio Leiva
http://cyrilmottier.com/archives/ - Cyril Mottier
http://www.curious-creature.org/category/android/ - Romain Guy
http://www.grokkingandroid.com/tutorials/ - Wolfram Rittmeyer
http://flavienlaurent.com/blog/archives/ - Flauvien Laurent
http://www.androiduipatterns.com/ - Juhani Lehtimäki
http://www.doubleencore.com/tag/android/ - Double Encore
http://novoda.com/blog - Novoda
http://www.androiddesignpatterns.com/ - Android Design Patterns (although they talk more about coding UX)
http://arnab.ch/blog/archives/ - Arnab CHakraborty
http://androiduiux.com/ - Taylor Ling
http://commonsware.com/blog/archive.html - Mark Murphy
http://udinic.wordpress.com/ - Udinic
http://sriramramani.wordpress.com/tag/android-2/ - Sriram Ramani
http://blog.stylingandroid.com/ - Mark Allison
http://daniel-codes.blogspot.de/ - Daniel Lew
http://www.technotalkative.com/ - Paresh Mayani
http://androideity.com/
23/08/2014 17:36
02/02/2014 11:23
03/02/2014 15:00
Pickes para time, date, number y muchos más.
Tiene una aplicación de ejemplo: https://play.google.com/store/apps/details?id=com.doomonafireball.betterpickers.sample
06/02/2014 14:58
A esas yo añadiria Guava que es imprescindible en cualquier proyecto java, volley para lidiar con peticiones REST y robolectric para poder testear en condiciones.
10/02/2014 19:45
10/02/2014 21:34
20/05/2014 11:07
20/05/2014 13:01
gracias!
21/01/2015 11:48
Esto crece a una velocidad que se hace muy dificil mantenerlo al dia... jeje. Saludos
15/01/2016 09:30
15/01/2016 14:03
02/02/2014 10:46
02/02/2014 16:10
10/02/2014 02:00
Casi todas las librerías fundamentales las teneís aquí:http://www.androidviews.net/
02/05/2014 11:33
http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html
tiene muchos generadores interesantes para customizar tu app al juego de colores que tu desees, adaptandose al maximo a la estructura de carpetas/recursos que tiene Android.
En especial destaco el ActionBar Style generator
07/07/2014 12:07
http://angrytools.com/android/button/
09/07/2014 17:57
05/08/2014 17:11
21/11/2014 10:20
12/01/2016 13:58
Update: Recopilación de librerias tremenda
https://github.com/codepath/android_guides/wiki/Must-Have-Libraries?utm_content=buffer8b0e0&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer
20/01/2016 17:50
Muchas gracias por la info