Pasar datos complejos entre activities

25 views
Skip to first unread message

Roger Durañona Vargas

unread,
Oct 14, 2016, 10:26:07 AM10/14/16
to desarrolladores-android
He estado buscnado la forma de pasar datos complejos, como clases, entre actividdades, y parece que no hay una forma sencilla. El caso es que en mis pruebas actuales, en cada Activity estoy abriendo y consultando la base de datos, y queria saber si era posible abrirla una sola vez y compartir esa instancia entre todas las activities. Es posible o solo se puede con datos simples y cadenas?

--
Roger D. Vargas
http://dsgp.blogspot.com > Game programming&linux

Roger Isaac Navarro Perez

unread,
Oct 14, 2016, 10:28:30 AM10/14/16
to desarrolladores-android
Puedes usar un patrón singleton para compartir diferentes tipos de datos complejos en una instancia única.

Saludos.

Enviado desde mi smartphone BlackBerry 10.
De: Roger Durañona Vargas
Enviado: viernes, 14 de octubre de 2016 09:26 a.m.
Para: desarrolladores-android
Asunto: [desarrolladores-android.com] Pasar datos complejos entre activities

--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/desarrolladores-android.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/CAMsWKetyFqhRzHjGvBrrkC8ecQRygHSVNLX46XR1wrtPTa5j0w%40mail.gmail.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

yeho

unread,
Oct 14, 2016, 10:57:01 AM10/14/16
to desarrolladores-android
es correcto lo que te comentan usa el patron de diseño singleton, con el puedes setear y obtener datos desde cualquier parte de la aplicacion
 

Saludos!! 

Jaume Tugores

unread,
Oct 19, 2016, 4:24:24 PM10/19/16
to desarrolladores-android
No se si es posible mantener la bd abierta entre activities, me imagino que no, pero no le veo problema en ir abriendo y cerrando la bd en cada activiti, es más en mi caso yo no tengo por costumbre el mantener abierta la bd en la misma activiti, sino que la voy abriendo, hago las consultas o updates y la cierro cada vez que necesito algo.

Roger Durañona Vargas

unread,
Oct 20, 2016, 1:57:00 PM10/20/16
to desarrolladores-android
Vale, gracias, em preocupaba que eso no fuera optimo, creo que lo dejaré asi para evitarme un poquito de trabajo hasta que me sienta mas comodo con Java.

--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrolladores-android@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

Jorge_SCB

unread,
Nov 11, 2016, 2:50:13 PM11/11/16
to desarrolladores-android
Por medio de los extras puedes pasar otros tipos de objetos siempre y cuando sean serializable, por ejemplo si creas tu propia clase Persona.class y haces que esta implemente la interfaz Serializable vas a poder pasar objetos persona por los extras

La clase persona seria:
public class Persona implements Serializable{...}

Lo pasas así por extras al llamar el startActivity:
Persona persona1 = new Persona();
intent.putExtra("personaParam", persona1 );

Lo vas a poder recuperar en la otra Activity de esta forma:
Persona persona1 = (Persona) getIntent().getExtras().getSerializable("personaParam");

Ten cuidado nada mas con instancias de clases no serializables como la clase Bitmap.
Si es mucha la cantidad de datos o lo que quieres pasar no es serializable, entonces puedes usar la opcion de singleton de las otras respuestas.

Reply all
Reply to author
Forward
0 new messages