Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 17/02/15, 18:16:33
Array

[xs_avatar]
himorino himorino no está en línea
Usuario poco activo
 
Fecha de registro: feb 2015
Mensajes: 14
Tu operador: Movistar

¿Como pasar un array entre 2 actividades?

Hola buenas, me preguntaba como se puede hacer si es posible, pasar un array, osea un vector con varios valores de una activity a otra.

0sea, tengo:

int[] vector = new int[20];

Y quiero pasar el contenido de ese vector a una 2º activity donde pueda recogerlo y seguir metiendole datos, y luego volver a pasarlo a otra.

He leido que es con el objeto bundle pero lo he intentado y no me funciona.

Si podeis ponerme tanto lo que hay que poner en la Activity de salida como de salida mejor.

Si es posible claro, igual no es posible pasar vectores entre activitys.
Responder Con Cita


  #2  
Viejo 17/02/15, 19:55:07
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Si te vale con que los números sean menores de 2^16 puedes usar short[] en lugar de int[], y entonces usar putShortArray en el Bundle.

Si pueden ser más grandes entonces tendrás que usar un ArrayList en lugar de un array, y usar el método putIntegerArrayList en el Bundle.
Responder Con Cita
  #3  
Viejo 17/02/15, 20:00:40
Array

[xs_avatar]
himorino himorino no está en línea
Usuario poco activo
 
Fecha de registro: feb 2015
Mensajes: 14
Tu operador: Movistar

Si, son números menores de 100 pero quiero pasar el array completo.

Podrías ponerme como hacer 3l bundle con un vector short? Y como recuperarlo? Por ahora solo he pasado strings estoy aun empezando
Responder Con Cita
  #4  
Viejo 18/02/15, 01:50:10
Array

[xs_avatar]
WHK WHK no está en línea
Usuario poco activo
 
Fecha de registro: feb 2015
Mensajes: 11
Tu operador: Movistar

Yo tuve el mismo problema y la única solución fue hacer lo mismo que se hace en un sitio WEB, en ves de pasar todos los parámetros de una pagina a otra los cargo en la segunda a través de un identificador.

Por ejemplo digamos que pasas el id de tarea de una actividad a otra, entonces esa otra actividad dependiendo del id de tarea hace esa tarea.

En mi caso yo tengo una clase llamada core la cual se encarga de obtener todas las configuraciones, datos del perfil del usuario y demás, entonces cuando paso de una activida a otra tengo que volver a declarar la clase core y esa clase debe volver a cargar todos los datos y si necesito pasar por ejemplo los datos de un zapato a otra actividad solo le doy el id de zapato y despues la segunda actividad solo debe ir a buscar los datos del zapato desde la base de datos en sqlite.

Lamentablemente cuando navegas vas duplicando la carga de memoria ram pero por lo menos es la manera mas efectiva que he encontrado y en ves de navegar por las actividades las vas destruyendo para liberar la memoria, es preferible que se vuelvan a crear a guardarlas en pausa con toda la memoria encima.

Una solución oficial a esto es utilizar parcelables pero no siempre puedes poner toda la información de un objeto en un parcelable:
http://stackoverflow.com/questions/2...-using-intents

Última edición por WHK Día 18/02/15 a las 01:52:33.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 10:32:59 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /