Estoy implementando llamadas de red en un Android y estoy muy confundido. ¿Qué biblioteca debo usar, Volley + ok HTTP o Retrofit + Picasso?

Hola

Retrofit fue diseñado para facilitar el acceso a la API REST, Volley fue diseñado por Google para manejar redes similares a Reteofit, pero Volley está mal documentado. OkHttp es una biblioteca que reemplaza DefaultHttpConnection o HttpUrlConnection. Picasso fue diseñado para cargar imágenes desde internet.

Entonces todo depende de tus necesidades. Manténgase alejado de DefaultHttpConnection ya que está depricated.

Google usa la biblioteca Guava para cargar imágenes en su aplicación Google IO Schedule 2014 y otros tutoriales.

Lo más importante cuando la red es mantenerse alejado de la implementación regular de AsyncTask. Se presenta como un ejemplo, para tareas de ejecución corta, pero cuando investigas más a fondo surgen muchos problemas. La actividad se recrea con una rotación de pantalla, cambio de configuración, etc. Por lo tanto, si un usuario de su aplicación recibe una llamada telefónica, su AsyncTask está en problemas. Otra alternativa es usar IntentService o SynchAdapter.

También hay una biblioteca de terceros llamada AsyncHttpConnection que está diseñada para manejar llamadas de red asíncronas.

Es una cuestión de preferencia, pero estoy tratando de usar Android Framework más y mantenerme alejado de las bibliotecas de terceros.

Mi consejo es que al principio elija cómo va a manejar las llamadas de red fuera del hilo principal y luego decida en las bibliotecas.

Espero que esto ayude.

Buena suerte codificando

Las redes rápidas de Android son las mejores para llamadas de red.

amitshekhariitbhu / Fast-Android-Networking

Fast Android Networking es una biblioteca poderosa para hacer cualquier tipo de red en aplicaciones de Android que se realiza sobre OkHttp Networking Layer.

Estas son algunas ventajas de usar mi biblioteca Fast Android Networking sobre otras bibliotecas:

  1. OkHttpClient se puede personalizar para cada solicitud fácilmente, como la personalización de tiempo de espera, etc. para cada solicitud.
  2. Como usa OkHttpClient y Okio , es más rápido.
  3. Se puede obtener un análisis completo de cualquier solicitud. Puede conocer los bytes enviados, los bytes recibidos y el tiempo empleado en cualquier solicitud. Estos análisis son importantes para que pueda encontrar el uso de datos de su aplicación y el tiempo necesario para cada solicitud, de modo que pueda identificar solicitudes lentas.
  4. Puede obtener el ancho de banda actual y la calidad de conexión para escribir un mejor código lógico: descargue imágenes de alta calidad con excelente calidad de conexión y baja con poca calidad de conexión.
  5. Caché de respuesta adecuada : lo que conduce a un uso reducido del ancho de banda .
  6. Se puede pasar un ejecutor a cualquier solicitud para obtener una respuesta en otro hilo. Si está haciendo una tarea pesada con la respuesta, no puede hacerlo en el hilo principal.
  7. Una biblioteca única para todo tipo de redes : descarga, carga, multiparte.
  8. Se puede realizar una captación previa de cualquier solicitud para que proporcione datos instantáneos cuando sea necesario desde la memoria caché.
  9. Todos los tipos de personalización son posibles.
  10. Solicitud inmediata realmente es inmediata ahora.
  11. Solicitud adecuada de cancelación.
  12. Impide la cancelación de una solicitud si se completa más del porcentaje de umbral específico.
  13. Una interfaz simple para realizar cualquier tipo de solicitud.

¿Por qué deberías usar la biblioteca rápida de redes de Android ?

  • La reciente eliminación de HttpClient en Android Marshmallow (Android M) hizo que otra biblioteca de redes quedara obsoleta.
  • Ninguna otra biblioteca individual hace todos y cada uno, como hacer una solicitud, descargar cualquier tipo de archivo, cargar archivos, cargar imágenes de la red en ImageView, etc. Hay bibliotecas pero están desactualizadas.
  • Como usa OkHttp, lo más importante es que admite HTTP / 2 .
  • Ninguna otra biblioteca proporciona una interfaz simple para hacer todo tipo de cosas en redes, como establecer prioridades, cancelar, etc.

amitshekhariitbhu / Fast-Android-Networking

Lista de prioridades

  1. Retrofit
  2. Voleo

Picasso -> Biblioteca destinada principalmente a descargar imágenes.

A continuación se muestran las muestras recogidas entre AsyncTask / Volley / Retrofit

En mis proyectos de Android, he usado mucho Volley y he encontrado buenos resultados. Retrofit un poco mínimo usado.

Con Volley, especifica todo el punto final dinámicamente (parámetros y todo) al momento de realizar la llamada API. De forma predeterminada, Volley devuelve un JSONObject o un JSONArray según el tipo de solicitud. Las llamadas de servicios REST se manejan maravillosamente con esta salida que se mostró bien en la interfaz de usuario de Android en mi proyecto.

Retrofit, por otro lado, tiene que establecer la url de punto final base para todas las llamadas API, luego le hace construir interfaces estáticas que especifican puntos finales utilizando anotaciones Java. Puede sustituir limpia y dinámicamente segmentos de ruta, variables POST / GET, etc. en el punto final al momento de realizar la llamada API. Para realizar una llamada API con RetroFit, debe llamar a un método en la interfaz, pasar cualquier sustitución y le devolverá un objeto de modelo java . De manera predeterminada, Retrofit realiza el análisis JSON automáticamente usando GSON (que es realmente, muy rápido) aunque puede conectar su propio analizador JSON si lo desea. Aunque la configuración es ligeramente diferente, las llamadas API reales se realizan de manera similar.

Finalmente, usted decide la frecuencia de uso de la aplicación. Depende de que prefiera Volley / Retrofit.

Hay muchas muestras disponibles y, si necesita orientación, póngase en contacto conmigo a través de [correo electrónico protegido] o https://www.facebook.com/priyara

Depende! Si está utilizando una biblioteca para descargar imágenes, puede usar Picasso. Es muy simple de usar, solo necesita agregar algunas líneas de código en su proyecto. Sin embargo, Picasso solo hace una cosa: descargar las imágenes y almacenar en caché. Volley es para fines generales, aunque la integración es compleja en comparación con Picasso, pero es más preferida.

mira este enlace: Resolviendo el problema de carga de imágenes de Android: Volley vs. Picasso | Big Nerd Ranch

Y este video : Google I / O 2013 – Volley: redes fáciles y rápidas para Android

Ahora el problema con el voleo es que no está muy bien documentado.

La modificación, por otro lado, está muy bien documentada y es más rápida que la volea. Hace que la codificación sea más fácil al eliminar todo el código repetitivo (que también se realiza por volley) , por lo que le recomendaría que vaya con Retrofit, ya que es el más adecuado y fácil de usar.

Aquí hay un enlace más 🙂 Clientes HTTP Android Async: Volley vs Retrofit

More Interesting

Quiero hacer un juego que estará en la cima de la Play Store sin costo alguno. Tengo el concepto y solo necesito el motor, todo lo demás está listo. ¿Qué motor debo usar?

Mi Nexus 7 (2012) se ha vuelto demasiado lento después de la actualización 5.0. Google dice que no hay forma de resolver esto. ¿Qué puedo hacer ahora?

Mi teléfono es un Lava Iris X1. Quiero actualizarlo a Lollipop. ¿Dónde podría descargarlo?

Mi tableta Android muestra un problema de autenticación al conectarme con mi Wi-Fi. ¿Qué tengo que hacer?

Estoy confundido entre Coding Blocks y Coding Ninjas for Android training. ¿Qué tengo que hacer?

Necesito hacer una copia de seguridad sin formato de todo el contenido (sistema de archivos completo) de mi teléfono Android. ¿Cómo puedo hacer esto?

Tengo 16 años y quiero hacer aplicaciones para Android. ¿Cómo empiezo en línea?

Acabo de actualizar a Android KitKat 4.4. Parece que iOS es Apple, la única compañía innovadora. ¿Por qué Google no puede hacer algo nuevo?

Quiero crear un diccionario eng-eng sin conexión para Android. ¿Qué archivos necesito descargar para una base de datos completa que incluye significado, sinónimos, oraciones, etc. de WordNet o cualquier otro sitio web adecuado para su uso sin conexión?

Estoy aprendiendo C y C ++ y quiero comenzar una empresa. ¿Qué debo aprender, PHP o Android?

He estado jugando el juego 'Asphalt 8: Airborne' en Android en el teléfono de mi hermano en su Gmail durante mucho tiempo. ¿Cómo puedo reemplazar ese juego guardado en mi Gmail?

He creado una aplicación para Android / iOS. ¿Puedo anunciar con imágenes con la aplicación utilizada en un dispositivo?

Estoy pensando en cambiarme a Android desde iOS. ¿Hay alguna razón para no hacerlo o faltan funciones de iOS?

Quiero rootear mi Galaxy Core 2 y flashear con CyanogenMod. ¿Es seguro?

He estado codificando en Java y Android desde hace mucho tiempo, acabo de enterarme de goLang, ¿es tan bueno goLang que pueda reemplazar a Java? Si es así, ¿por qué?