Home Menu

Menu



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


 
Herramientas
  #1  
Viejo 17/02/15, 18:16:33
Avatar de himorino
himorino himorino no está en línea
Usuario poco activo
Mensajes: 14
 
Fecha de registro: feb 2015
Mensajes: 14
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
¿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
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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
Avatar de himorino
himorino himorino no está en línea
Usuario poco activo
Mensajes: 14
 
Fecha de registro: feb 2015
Mensajes: 14
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de WHK
WHK WHK no está en línea
Usuario poco activo
Mensajes: 11
 
Fecha de registro: feb 2015
Mensajes: 11
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
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   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 23:14:52 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007