studio recyclerview make how create card and android android-recyclerview recycler-adapter

android - make - Usando JsonArray vs ArrayList como un conjunto de datos para RecyclerView Adapter



recyclerview android studio (6)

He utilizado ArrayList<> y JsonArray como los conjuntos de datos en el adaptador. Una de las principales diferencias que encontré fue que los cambios en el conjunto de datos para los datos locales en Adapter no se reflejaron nuevamente en la clase de llamada para JsonArray.

Quería saber cuál es mejor y cuál es mi observación correcta.

Además, si mi conjunto de datos implica extraer datos de un servicio web (que me proporciona datos de formulario Json), será mejor cambiarlo a ArrayList <>.


Bueno, jsonArray es una solución rápida, por lo que definitivamente puede usarla como su conjunto de datos y aún así, si desea convertir JsonArray en una lista de Array para obtener todos los métodos disponibles, lea esta respuesta

https://.com/a/17037364/5476209

En su caso, está bien ir con JsonArray, pero una buena manera y muy recomendable es usar GSON. Diría un enfoque dorado cuando trabaje con Json. Lo preferiría, vea esta respuesta.

Google Gson: ¿deserializar el objeto de la lista <clase>? (tipo genérico)



JsonArray usa internamente ArrayList, por lo que el retraso es menor porque las llamadas internas son rápidas en Java.

Pero si convierte JsonArray en ArrayList y JsonArray contiene datos más complejos, el acceso a ArrayList es rápido según la facilidad de desarrollo y el rendimiento de la aplicación.


Por lo que sé, JsonArray no es mucho más lento que ArrayList . Así que creo que deberías estar bien usando JsonArray . Necesitaríamos ver algún código para ayudar con el problema cuando usemos jsons.


Sí, ambos pueden ser utilizados. En cuanto a cuál es más correcto, el uso de JsonArray parece que rompe el MVC. Entonces, si mañana cambiaste de usar Json a XML, yaml, etc., tendrías que cambiar tu modelo. Idealmente, su modelo debe conocer el mínimo indispensable de lo que se necesita para mostrar las vistas y estar acoplado a nada más que las vistas. Si desea mostrar tres etiquetas, su modelo solo debe contener tres cadenas. Entonces, recomendaría que lo conviertas en una Lista.


JSONArray usa internamente ArrayList . Es solo envoltorio sobre ArrayList . Entonces yo diría que no hay diferencia. JSONObject usa HashMap, así que de nuevo no tiene inconvenientes reales.