¿Cómo implementar Parcelable en un objeto externo?

Mi aplicación consulta un servicio utilizando una biblioteca externa en forma de un archivo JAR. Cuando consulta este servicio, recibo una lista de objetos (el objeto se utiliza genéricamente, no el objeto), que no implementan Parcelable en su forma actual. Necesito enviar uno de estos objetos entre actividades, así que estoy asumiendo que necesito de alguna manera hacerlos implementar Parcelable. Sin embargo, no estoy seguro de cómo hacerlo si no son mis objetos, y todos los tutoriales que he encontrado en línea parecen tratar sólo con los objetos que el autor creó para su propio proyecto.

Cualquier ayuda sería muy apreciada. Déjame saber si necesito aclarar algo.

Otra alternativa sería utilizar su aplicación para almacenar estos objetos. Aplicación sencilla de subclases, hazla un singleton y declárala en tu Manifest.xml

public class MyApplication extends Application { private static final MyApplication instance; public static MyApplication getInstace() { return instance; } public void onCreate() { instance = this; } private MyObject myObj; public MyObject getMyObject() { return this.myObj; } public void setMyObject(MyObject myObj) { this.myObj = myObj; } } 

A continuación, podrá guardarlo:

 MyApplication.getInstance().setMyObject(anObject); 

Y recuperarlo:

 MyObject anObject = MyApplication.getInstance().getMyObject(); 

Recuerda eso:

  1. Declare la clase MyApplication como la aplicación en el Manifest.xml
  2. Si el proceso se cancela o sale, los datos no estarán disponibles.

Suponiendo que puede instanciar nuevas copias del objeto usted mismo, siempre puede utilizar la composición e implementar su propio objeto de transferencia de datos Parcelable para realizar la transferencia:

  1. Cree una nueva clase Parcelable, llamémosla PObject.
  2. Agregue un constructor para PObject que tome una copia del objeto que no implementa Parcelable.
  3. Cree un método en PObject que devuelve una copia completamente instanciada del objeto que no implementa Parcelable.

    Ahora debe ser capaz de utilizar la implementación PObject para transferir los objetos.

La documentación de la interfaz Parcelable muestra un ejemplo básico para transferir un entero.

Por supuesto, esto supone que necesita Parcelable: si las actividades están en el mismo proceso que probablemente sólo puede pasar a través de una estática global. No es la más bonita, pero a menudo es lo suficientemente bueno.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.