valores studio sirve que putextra pasar parametros para otro objetos entre datos activity activities actividades android data-structures android-activity

studio - Pasar datos de un tipo no primitivo entre actividades en Android



pasar variables entre actividades android studio (2)

Supongamos que desea iniciar una nueva actividad y pasarle algunos datos de la actividad actual. Si los datos son de tipo primitivo, podría simplemente usar un intento y agregar extras, pero ¿cómo haría esto para estructuras de datos más complejas como listas de arrays u objetos?


Tienes pocas opciones:

  1. Podría envolver la estructura más compleja en una clase que implementa la interfaz Parcelable , que se puede almacenar en un extra
  2. Podría envolver la estructura más compleja en una clase que implementa la interfaz Serializable , que se puede almacenar en un extra
  3. Usas miembros de datos estáticos para pasar cosas, ya que están todos en el mismo proceso
  4. Utiliza el almacenamiento externo (archivo, base de datos, SharedPreferences )
  5. Como señaló la persona que acaba de publicar, utilice un componente común, como una Application personalizada o un Service local Service

Lo que no quieres hacer es pasar grandes cosas a través de extras. Por ejemplo, si está creando una aplicación que toma fotografías de la cámara, no quiere pasarlas en extras: use un miembro de datos estáticos (aunque suene desagradable). Las intenciones están diseñadas para trabajar en procesos cruzados, lo que significa que hay una cierta cantidad de copia de datos que continúa, que desea evitar cuando no es necesario para cosas grandes.


Una de las opciones que conozco es almacenar los datos que está utilizando en un objeto Aplicación que todas sus actividades pueden recuperar del contexto.

También he escuchado sobre el uso de Google Protocol Buffer para lograr una solución de mayor rendimiento