¿Cómo se usan las bibliotecas en el desarrollo de aplicaciones de Android y cuáles son las mejores bibliotecas de código abierto?

Recientemente, he escrito algunas partes en mi blog para la serie “Desarrolladores perezosos de Android: sean productivos”:

  1. Sea un desarrollador de Android perezoso pero productivo – 1 => RoboGuice
  2. http://www.technotalkative.com/l…
  3. Sea un desarrollador de Android perezoso pero productivo – 3 => Biblioteca de análisis JSON
  4. Sé un desarrollador de Android perezoso pero productivo – Parte 4 – IU de tarjeta
  5. Sé un desarrollador de Android perezoso pero productivo – Parte 5 – Carga de imágenes
  6. Sea un desarrollador de Android perezoso pero productivo – 6 – GridView escalonado
  7. Sé un desarrollador de Android perezoso pero productivo – 7 – Herramientas útiles
  8. Parte 8 – Herramientas de diseño de estructura alámbrica / maqueta – TechnoTalkative

Y aquí van para mi presentación sobre el mismo: Desarrolladores perezosos de Android: sean productivos.

En caso de que esté buscando una biblioteca, le sugiero que explore los sitios a continuación para descubrir la interfaz de usuario / base de datos / widgets personalizados o cualquier biblioteca para usar dentro de la aplicación de Android:

  1. https://android-arsenal.com/
  2. http: //www.theultimateandroidlib…

[Actualizado]
Consulte estas páginas, especialmente la página de intención abierta, probablemente le muestre la mayoría de las bibliotecas de código abierto de calidad para Android.

facebook / stetho
cuadrado / picasso
cuadrado / okhttp http + spdy
cuadrado / cinta
facebook / rebote
google-gson: una biblioteca de Java para convertir JSON a objetos de Java y viceversa – Google Project Hosting
Procesador Jackson JSON – Inicio
excilys / androidannotations
roboguice / roboguice
etsy / AndroidStaggeredGrid
jfeinstein10 / SlidingMenu
greenrobot / greenDAO
Google Core Libraries para Java 1.6+ – Alojamiento de proyectos de Google
Generador de estilo de barra de acción de Android
Android Asset Studio
chrisbanes / Android-PullToRefresh
burakdd / windigo: el enchufe descarado aún no madura como los anteriores, pero llegará allí.
http://www.openintents.org/en/li … – el enlace está muerto, no sé por qué
http://code.google.com/p/libs-fo

SectionCursorAdapter : permite que la aplicación extraiga información directamente de una base de datos, al tiempo que incluye fácilmente encabezados de sección y desplazamiento rápido en la vista de lista.
MultiColumListAdapter : facilita la implementación de una cuadrícula de elementos mediante el widget ListView de Android

Para obtener más información sobre esos dos: Bibliotecas de adaptadores de Android | Dos tostadoras

Clusterkraf – Biblioteca de agrupación de mapas
JazzyListView – Animaciones de ListView personalizadas

Aquí hay un enlace para verlos en acción: Bibliotecas de mapas y animaciones de Android para impulsar su aplicación

Anotaciones de Android es mi favorito personal. Hace que el código se vea mucho más limpio y no tiene un impacto en el rendimiento de la aplicación. Tiene anotaciones para ayudar con muchas cosas, desde tareas en segundo plano hasta tareas en el hilo de la interfaz de usuario, servicios de descanso, clase de aplicación, actividades, fragmentos y mucho más.

Mis favoritos son:

  • greenDAO – Android ORM para SQLite utiliza la generación de código para hacer que ORM sea rápido
  • EventBus biblioteca de eventos muy simple y fácil de usar
  • Cinta de cola de tareas persistentes

También, recientemente abierto de origen por Path (red social)

  • android-priority-jobqueue una cola de tareas avanzada que se encarga de: priorización, persistencia, equilibrio de carga, retraso, control de red, agrupación, etc.

Elija una de esas bibliotecas: lista principal de proyectos gratuitos y de código abierto: GitHub

Daga 2

Licencia : Apache 2.0

Estrellas de GitHub : 6.800

Entre todos los proyectos Java de código abierto, GitHub recomienda Dagger 2. Esta es una biblioteca destinada a ayudar a los desarrolladores a la hora de implementar patrones de inyección de dependencia . Una de las principales ventajas de la biblioteca es una configuración simple de dependencias complicadas. Como sabes, cuanto más grande es tu aplicación, más grandes son las dependencias. Con la biblioteca de Dagger 2, puedes tomarlos a todos bajo control.

Además, este repositorio de proyectos de código abierto de Android facilita la unidad y las pruebas de integración, así como la generación de código. Además, el tamaño de esta biblioteca es relativamente pequeño si tenemos en cuenta su funcionalidad.

Ventajas:

  • Tamaño de la biblioteca
  • Buena generación de código
  • Las dependencias complicadas se toman fácilmente bajo control

Desventajas

  • Falta de anulación de soporte

RxJava

Licencia : Apache 2.0

Estrellas de GitHub : 23,000

Rx es un proyecto de código abierto de GitHub aplicado para compilar y procesar secuencias de eventos. Una de las dificultades cuando se trata del desarrollo de aplicaciones confiables basadas en Android es el dinamismo del cambio de datos de entrada. Hablando de modelos tradicionales de programación imperativa, implica que los valores deben establecerse para las variables para que puedan actualizarse.

Consideremos varias ventajas que la biblioteca RxJava abre para los desarrolladores de Android:

  • Simplifica las posibles cadenas de operaciones asincrónicas.
  • Ayuda a definir más claramente qué tipo de hilos deberían usarse para diferentes tareas que contribuyen a escribir un código más comprensible
  • Reduce la necesidad de variables de estado que pueden conducir a errores
  • RxJava ayuda a los hilos a transformar, filtrar o crear nuevos hilos de datos utilizando solo unas pocas líneas de código

Desventajas

  • Bastante complejo

EventBus

Licencia : Apache 2.0

Estrellas de GitHub : 14,000

Este repositorio de Android de código abierto sirve como un medio de organización de la comunicación entre diferentes partes de una aplicación. En otras palabras, EventBus permite que los datos se envíen fácilmente de una parte de la aplicación a otra. Contrariamente a las herramientas de Android para el intercambio de datos, esta solución difiere debido a su fácil uso, así como a la oportunidad de transferir cualquier tipo de datos en cualquier cantidad y sin serialización.

Cuando esté buscando otras funciones, vale la pena destacar Sticky Events, que funciona con hilos asincrónicos y más.

Principios de trabajo.

Ventajas:

  • Comunicación simplificada entre componentes.
  • Tamaño de la pequeña biblioteca
  • Altamente performativo

Desventajas

  • Fácil de cruzar, haciendo que su código sea ilegible

Retrolambda

Licencia : Apache 2.0

Estrellas de GitHub : 3.000

Este repositorio de código abierto de Android agrega el soporte de expresiones Lambda a diferentes versiones de Java. Además, ayuda a deshacerse del código que hace que la sintaxis sea más complicada. Retrolambda analiza el código de bytes de las clases compiladas donde busca Expresiones Lambda, junto con otras innovaciones y las reemplaza con análogos que ya están presentes en Java. Este hecho abre numerosas oportunidades, ya que ahora puede escribir menos código, y eso a su vez se adaptará a sus necesidades en la etapa de compilación.

Ventajas:

  • Soporte de respaldo
  • Gradle Plugin

Desventajas

  • No soporta las nuevas API de Java 8

Un proyecto de biblioteca de Android es un contenedor de código fuente y recursos compartibles de Android a los que se puede hacer referencia desde proyectos de aplicaciones de Android.

fuente: aquí

Para usar la biblioteca, agréguela como una dependencia en su proyecto

Las bibliotecas de Android se pueden empaquetar y reutilizar en otras aplicaciones de Android

Support-Library : es un conjunto de bibliotecas de códigos que proporcionan versiones compatibles con versiones anteriores de las API de Android Framework, así como características que solo están disponibles a través de las API de la biblioteca.

Las principales bibliotecas de terceros que se pueden usar en el desarrollo de Android son (excluidas las que se mencionan en otra respuesta):

1. Font Awesome: Font Awesome le ofrece iconos vectoriales escalables que se pueden personalizar al instante: tamaño, color, sombra y todo lo que se puede hacer con el poder de CSS.

2. Iconos de diseño de materiales : los iconos de diseño de materiales son los iconos oficiales de código abierto que aparecen en la especificación de diseño de materiales de Google.

3. Universal Image Loader para Android: este proyecto tiene como objetivo proporcionar un instrumento reutilizable para cargar, almacenar en caché y mostrar imágenes asíncronas.

4. SlidingMenu -SlidingMenu es una biblioteca de Android de código abierto que permite a los desarrolladores crear fácilmente aplicaciones con menús deslizantes como los que se hicieron populares en las aplicaciones de Google+, YouTube y Facebook.

fuente: aquí

Puede obtener una lista de muchas bibliotecas aquí.

Android Arsenal: un directorio categorizado de bibliotecas y herramientas gratuitas para Android

Las bibliotecas facilitan la vida del desarrollador al proporcionar código preparado escrito por pocos genios. El proceso de integración es muy simple si está utilizando Android Studio.

Simplemente agregue la ruta de la biblioteca a build.gradle y especifique la ruta del repositorio, si la hay. Una vez que compila, se descargará este bibliotecario.

http://www.github.com es un buen recurso para las bibliotecas, pero para Android puede consultar http://android-arsenal.com, que tiene un vasto repositorio para bibliotecas.

Gracias por A2A. Feliz codificación !!

Algunos de mis favoritos:

  • AQuery para simplificar la codificación de la interfaz de usuario: android-query – Codificación más simple para Android – Google Project Hosting
  • Gson para serializar entre JSON y POJO’s: google-gson – Una biblioteca de Java para convertir JSON a objetos de Java y viceversa – Google Project Hosting
  • Apache Commons tiene algunas buenas clases de utilidad: Apache Commons
  • Application Crash Reports para Android: acra – Application Crash Reports para Android – Google Project Hosting

Recientemente encontré la aplicación de demostración de bibliotecas Bibliotecas para desarrolladores: tiene una implementación funcional de cada biblioteca incluida (unas pocas docenas), lo que hace que sea mucho más fácil decidir si la biblioteca es útil para su proyecto.

Una lista curada de impresionantes bibliotecas UI / UX de Android
wasabeef / awesome-android-ui
Lista alfabética de bibliotecas para el desarrollo de Android
wasabeef / awesome-android-bibliotecas

Por favor visita:

  1. Un directorio categorizado de bibliotecas y herramientas gratuitas para Android | Android-Arsenal.com
  2. wasabeef / awesome-android-bibliotecas y
  3. Android-Libs

para las mejores y más recientes bibliotecas. Hay muchos más, pero estos pueden proporcionarle casi cualquier tipo de bibliotecas con una descripción básica para comenzar.

Ahora a su pregunta, según tengo entendido, las bibliotecas están listas para usar habilidades en su aplicación con personalizaciones básicas o pesadas a veces. Dependiendo de lo que esté creando, puede buscar en la biblioteca adecuada e integrarla en sus aplicaciones. Por ejemplo, Bibliotecas de chat móviles y web | Applozic le ofrece bibliotecas para habilitar la mensajería de chat en tiempo real en sus aplicaciones móviles para que realmente no tenga que reinventar la rueda.

De acuerdo con todo lo anterior. Para algunos de los patrones de interfaz de usuario, me refiero a esta aplicación Android UI Patterns. Tiene enlaces a todas las bibliotecas populares junto con demostraciones.

Algunas de las bibliotecas de mi marcador:

libs-for-android – Una colección de bibliotecas para la plataforma Android ™ – Google Project Hosting
Fotoprocesamiento
android-adt-templates
estrella polar
validación-formidable de android
Cuscurro

Gran lista de bibliotecas útiles que puedes encontrar aquí: Android Arsenal

Tutorial de la Biblioteca de iconos de materiales para Android

Una biblioteca que contiene más de 1000 iconos de vectores de material que se pueden usar fácilmente como Dibujables o como una Vista independiente.

¿Cansado de tener que buscar y generar recursos png cada vez que quiera probar algo? Esta biblioteca pone fin a esa carga y hace que el intercambio de iconos sea muy sencillo, revise el uso a continuación y verá por qué.

Para el procesamiento de imágenes:

  • nostra13 / Android-Universal-Image-Loader
  • Bumptech / Glide
  • cuadrado / picasso

Para redes:

  • koush / AndroidAsync
  • AsyncHttpClient / async-http-client
  • cuadrado / okhttp
  • mcxiaoke / android-volley
  • cuadrado / modernizado

Para desenfoque de imagen:

  • kikoso / android-stackblur
  • 500px / 500px-android-blur
  • Cutta / Simple-Image-Blur
  • wasabeef / borrosa

Para recorte de imagen:

  • Yalantis / uCrop
  • ryanhoo / PhotoCropper
  • lyft / tijeras
  • IsseiAoki / SimpleCropView
  • jayrambhia / CropperNoCropper

Para la introducción de la aplicación:

  • PaoloRotolo / AppIntro
  • TakeoffAndroid / AppIntroAnimation

Para la animación:

  • brucetoo / ActivityAnimation
  • linfaxin / TransitionPlayer
  • konifar / material-cat
  • lgvalle / Material-Animations
  • 2359media / EasyAndroidAnimations
  • daimajia / AndroidViewAnimations
  • nhaarman / ListViewAnimations

Para el selector de color:

  • LarsWerkman / Lobsterpicker
  • fribell / ColorPickerView – Bitbucket
  • DASAR / ShiftColorPicker
  • gabrielemariotti / colorpickercollection
  • LarsWerkman / HoloColorPicker

Para ImageViewZoom:

  • sephiroth74 / ImageViewZoom
  • davemorrissey / subsampling-scale-image-view
  • chrisbanes / PhotoView

He enumerado algunas bibliotecas populares de la categoría más utilizada, si desea más específico, actualizaré mi respuesta nuevamente.

Algunas de las mejores bibliotecas de código abierto de Android son:
1. ActionBarSherlock – Inicio
2. perdón / ActiveAndroid
3. roboguice / roboguice
4. google-gson – Una biblioteca de Java para convertir JSON a objetos de Java y viceversa – 5. Google Project Hosting
5. keyboardsurfer / Crouton
6. ViewPagerIndicator
7. MasDennis / Rajawali
8. nostra13 / Android-Universal-Image-Loader
9. robotium: el marco de automatización de pruebas de Android ™ líder en el mundo – Google Project Hosting
10. zxing – Biblioteca de procesamiento de imágenes de códigos de barras 1D / 2D multiformato con clientes para Android, Java – Google Project Hosting
11. tesseract-ocr: un motor de OCR que se desarrolló en HP Labs entre 1985 y 1995 … y ahora en Google. – Alojamiento de proyectos de Google
12. achartengine.org – Noticias

Entre los que he usado recientemente, DiskLruCache, también de Jake Wharton.

He intentado recopilar algunas bibliotecas útiles en una de mis publicaciones de blog, Bibliotecas útiles de Android.

Lo estaré actualizando constantemente allí.