Las intenciones en Android son una forma elegante de pasar mensajes entre componentes desacoplados, pero ¿qué sucede si desea enviar datos adicionales con Intent? Sé que puede agregar varios tipos de valores y objetos que implementan Parcelable, como extras, pero esto realmente no satisface el envío local de tipos definidos por el usuario (es decir, no a través de una interfaz remota). ¿Algunas ideas?¿Cómo enviar objetos de datos personalizados con Intents en Android?
Respuesta
Cuando dices localmente, ¿eso significa enviar los tipos definidos por el usuario a través de las Actividades/Servicios locales que pertenecen a la misma APK? Siempre que el tipo definido por el usuario sea parcelable, puede enviarse como extras en la intención y puede procesarse en onStartCommand() de servicio/actividad.
Si desea pasar objetos dentro de un solo proceso puede implementar su propia Application
para mantener el estado global:
Clase base para aquellos que necesitan mantener el estado de aplicación global. Usted puede proporcionar su propia implementación de especificando su nombre en su etiqueta de AndroidManifest.xml , lo que hará que la clase sea instanciado para que cuando el proceso para su aplicación/paquete es creado.
¿está bien, así que use la aplicación como un tipo de intermediario/almacenamiento para datos compartidos? – MalcomTucker
exactamente, puede implementarlo como un repositorio si lo necesita –
en su tipo, se puede implementar la interfaz Serializable
y llame al método Intent.putExtra(String, Serializable)
incluirlo en el intento. Consideré hacerlo por un problema similar, pero optó por simplemente poner los datos en un paquete porque mi tipo solo tenía dos campos y no valía la pena el esfuerzo.
Ésta es la forma en que podría funcionar, suponiendo que haya implementado en Serializable
Foo:
Foo test = new Foo();
test.Name = "name";
test.Value = "value";
Intent intent = new Intent();
intent.putExtra("test", test);
- 1. Singleton vs Intents (Android)
- 2. Android guardar una matriz de objetos personalizados
- 3. Android "Best Practice" uso de Intents
- 4. ¿Cómo puedo enviar encabezados personalizados con URLRequest
- 5. Android: ¿Cuál es la mejor práctica, utilizar una cadena global o intents con datos adicionales?
- 6. ¿Cómo funcionan los Intents internamente?
- 7. Almacenar objetos personalizados (Obj definido por el usuario) en la base de datos de SQLite Android
- 8. Cómo enviar objetos en PHP
- 9. Objetos personalizados persistentes
- 10. Enviar datos de Android a servidor con datos JSON
- 11. ¿Cómo hacer objetos personalizados en Javascript?
- 12. Enviar objetos con atributos personalizados a través de un servicio wcf
- 13. de visualización de datos de objetos personalizados a ListBox WPF
- 14. Cómo almacenar objetos personalizados con struct en Coredata
- 15. GSON: deserialización de objetos personalizados
- 16. ¿cómo puedo enviar datos de onPostExecute en una AsyncTask?
- 17. JTable, JComboBox utilizando Objetos personalizados
- 18. ¿Cómo enviar datos desde BroadcastReceiver a una actividad en android?
- 19. arrastrar y soltar objetos personalizados
- 20. Búsqueda en una ArrayList con objetos personalizados para ciertas cadenas
- 21. Atributos personalizados en Android
- 22. cómo mostrar los datos personalizados de tipos de envíos personalizados
- 23. El uso de distintos con lista de objetos personalizados
- 24. Enviar datos desde android bluetooth a la PC con bluecove
- 25. ¿Cómo puedo crear controles personalizados en Android?
- 26. ¿Cómo asocio algunos datos personalizados con HttpRequest actual?
- 27. android: ¿Cómo usar colores personalizados?
- 28. Cómo enviar datos de POST con código en una vista web de Android
- 29. ¿Cómo enviar datos de un dispositivo Android a otro?
- 30. Métodos de llamada a objetos personalizados con setTimeout pierde alcance
localmente como en el no a través de AIDL, y todos en el mismo proceso, la misma aplicación. La cuestión es que la implementación parcelable para tipos de datos personalizados complejos en realidad puede ser bastante dolorosa, cuando todo lo que necesito hacer es transferir un objeto con un intento ... – MalcomTucker