¿Qué es un bundle
en una aplicación de Android? ¿Cuándo usarlo?
android
bundle
android-bundle
Usuario
fuente
fuente
Pase datos entre actividades utilizando
Bundle
yIntent
objetos.Tu primero crea un
Bundle
objetoLuego, asocie los datos de cadena almacenados
anystring
con la clave de paquete"myname"
Ahora, crea un
Intent
objetoPasar objeto de paquete
b
a la intencióny comenzar la segunda actividad
En la segunda actividad, tenemos que acceder a los datos pasados de la primera actividad.
Ahora, necesita obtener los datos del paquete
Finalmente, obtenga el valor de los datos de cadena asociados con la clave denominada
"myname"
fuente
Tengo que agregar que los paquetes son utilizados por actividades para pasar datos a sí mismos en el futuro.
Cuando la pantalla gira, o cuando se inicia otra actividad,
protected void onSaveInstanceState(Bundle outState)
se invoca el método y se destruye la actividad. Más tarde, se crea otra instancia de la actividad ypublic void onCreate(Bundle savedInstanceState)
se llama. Cuando se crea la primera instancia de actividad, el paquete es nulo; y si el paquete no es nulo, la actividad continúa algunos negocios iniciados por su predecesor.Android guarda automáticamente el texto en los campos de texto, pero no guarda todo, y a veces aparecen errores sutiles.
Sin embargo, el antipatrón más común es asumir que
onCreate()
solo hace la inicialización. Está mal, porque también debe restaurar el estado.Hay una opción para deshabilitar este comportamiento de "recrear actividad en rotación", pero no evitará errores relacionados con el reinicio, solo los hará más difíciles de mencionar.
Tenga en cuenta también que el único método cuya llamada está garantizada cuando la actividad se va a destruir es
onPause()
. (Consulte el gráfico del ciclo de vida de la actividad en los documentos).fuente
A
Bundle
es muy parecido a unMap
objeto Java que asignaString
claves a valores. Se utiliza para pasar información entre actividades y otros componentes de la aplicación. El marco también lo utiliza para capturar y restaurar información de estado.La razón por la que Android no usa
Map
objetos viejos para esto es queMap
es demasiado flexible; puede contener objetos (como, por ejemplo, flujos de E / S) que no se pueden serializar. LaBundle
API restringe los tipos de objetos que se pueden agregar a un paquete de tal manera que se garantiza que el contenido del paquete sea serializable. El marco de Android se basa en esta propiedad.Le sugiero que lea la documentación sobre los fundamentos de la aplicación . Esto explica, entre otras cosas, qué son los paquetes y las intenciones y para qué se utilizan.
fuente
Los paquetes se pueden usar para enviar datos arbitrarios de una actividad a otra a través de Intentos. Cuando difunde una intención, las actividades interesadas (y otros BroadcastRecievers) recibirán una notificación al respecto. Una intención puede contener un paquete para que pueda enviar datos adicionales junto con la intención.
Los paquetes son asignaciones de valores clave, por lo que en cierto modo son como un Hash, pero no están estrictamente limitados a una sola asignación de objetos String / Foo. Tenga en cuenta que solo ciertos tipos de datos se consideran "Parcelable" y se especifican explícitamente en la API de paquete.
fuente
Solo crea un paquete,
EN el "this_is_the_next_class.class"
Puede recuperar los elementos como este.
fuente
Bundle se usa para pasar datos entre actividades. Puede crear un paquete, pasarlo a Intent que inicia la actividad que luego se puede usar desde la actividad de destino.
fuente
Paquete: - Una asignación de valores de cadena a varios tipos de paquetes.
Bundle se usa generalmente para pasar datos entre varias actividades de Android.
cuando llamamos a onPause () luego onStop () y luego en orden inverso onStop () a onPause ().
Los datos guardados que el sistema usa para restaurar el estado anterior se denominan "estado de instancia" y son una colección de pares clave-valor almacenados en un objeto Bundle.
fuente
el paquete se usa para compartir datos entre actividades y para guardar el estado de la aplicación en el método oncreate () para que la aplicación sepa dónde se detuvo ... Espero que ayude :)
fuente
uso de paquete de envío de datos de una actividad a otra actividad con la ayuda del objeto de intención; El paquete contiene los datos que pueden ser de cualquier tipo.
Ahora les digo cómo crear paquetes de datos de paso entre dos actividades.
Paso 1: en la primera actividad
Paso 2: en la segunda actividad
Creo que esto es útil para ti ...........
fuente
Bundle no es solo para transferir datos entre dos componentes diferentes, sino más importante, se usa para restaurar los valores almacenados antes de que la actividad se destruya en una nueva actividad.
como el texto en un
EditText
widget o la posición de desplazamiento de aListView
.fuente
Primera actividad:
Segunda actividad:
fuente