Cómo almacenar The Android Volley responde en un objeto para usarlo en otra actividad

Por lo general, cuando queremos pasar algunos datos temporales entre actividades, hacemos uso de Intents. Los intentos también se pueden usar para pasar datos entre proveedores de contenido, receptores de difusión, servicios en segundo plano, etc.

Puede usar el siguiente fragmento de código para pasar una ArrayList a otra actividad

Intención i = nueva intención (FirstActivity.this, SecondActivity.class);
Bundle b = nuevo Bundle ();
b.putStringArrayList (“datos”, nueva ArrayList ());
i.putExtra (“userBundle”, b);
startActivity (i);

Para recuperar los datos en SecondActivity,

// obtener la intención aprobada
Intención i = getIntent ();
// obtener el paquete almacenado dentro de la intención
Paquete b = i.getBundleExtra (“userBundle”);
Lista nombres = b.getStringArrayList (“datos”);

Puede consultar el tutorial completo aquí: Android: pasar datos entre actividades – AndroidDeft.com

Si tiene dudas sobre el uso de Volley, puede consultar este tutorial: Análisis de JSON en Android usando Volley – AndroidDeft.com

Como volley maneja la serialización por usted, lo único que necesita es evaluar CÓMO usará dicho objeto. ¿Es un objeto fugaz? ¿Es un valor a largo plazo? ¿Es grande? el primero significa que el almacenamiento en RAM es suficiente. El segundo significa que se necesita almacenamiento en disco. El último determina si puede usar una preferencia de Android para almacenarlo, un archivo o una base de datos.

Por cierto, las actividades tienen cero necesidad de saber acerca de las solicitudes. Sus solicitudes deben vivir en una capa separada y ambas actividades deben poder preguntar cualquier cosa a esa capa. Si necesita mostrar alguna interfaz de usuario antes de solicitar datos y otra interfaz de usuario después de eso, use una vista personalizada (puede ser un fragmento, puede ser una clase de vista personalizada, eso depende de usted). Esto podría darle una idea: fcopardo / BaseViews-Android

Puede crear una clase personalizada para guardar los datos de las respuestas y ponerla en intención, luego comenzar otra actividad utilizando la intención. Entonces puede obtener el objeto de la segunda actividad.

Pero primero debe hacer que su clase personalizada implemente la interfaz java.io.Serializable o android.os.Parcelabe.

El artículo a continuación tiene un ejemplo detallado.

Android Pass Objeto personalizado en el ejemplo de intención

Puede pasar el objeto como Intent extra o ponerlo en el almacenamiento local (Preferencias compartidas).