En mi aplicación de Android, siempre estoy usando la putExtra()
función directa de Intent
clase para pasar cualquier número de valor a nuevo Activity
.
Me gusta esto:
Intent i = new Intent(this, MyActivity.class);
i.putExtra(ID_EXTRA1, "1");
i.putExtra(ID_EXTRA2, "111");
startActivity(i);
Conozco Bundle
en Android y he visto que la gente está usando Bundle
para pasar valores a nuevos Activity
.
Me gusta esto:
Intent intent = new Intent(this, MyActivity.class);
Bundle extras = new Bundle();
extras.putString("EXTRA_USERNAME","my_username");
extras.putString("EXTRA_PASSWORD","my_password");
intent.putExtras(extras);
startActivity(intent);
Aquí tengo 2 dudas.
¿Por qué debería usar Bundle
si puedo pasar valores a nuevo Activity
poniéndolo directamente en Intent
?
¿Cuáles son las ventajas de usar en Bundle
lugar de directo Intent
putExtra()
?
fuente
startActivity(intent, options)
ointent.putExtra()
? Sé que se pueden hacer ambas cosas, pero solo estoy pensando en la mejor práctica. No suelo tocar el paquete que se pasa a onCreate, pero no tengo experiencia, por lo que busco opiniones.Ventaja adicional : una vez que los datos se colocan en un paquete, puede enviar los mismos datos a través de múltiples intentos. (Solo en el caso, se enviarán múltiples intenciones).
fuente
Los paquetes son geniales porque puede aislar su creación / lectura más fácilmente, separando así el código que maneja los paquetes del código de la interfaz de usuario.
En la mayoría de los casos, eso es inútil, ya que querrá transmitir la menor cantidad posible de datos (generalmente solo un par de cadenas, una identificación ...)
fuente
puede referirse a Intent and Bundle Relation (Stackoverflow) y también ¿Cuál es la importancia del paquete en un programa de Android (Stackoverflow) ?
puede enviar varios o un montón de datos en un paquete y enviarlos a través de Intent. u otra forma es agregar múltiples declaraciones de PutExtra ().
Y no hay ninguna diferencia tan importante según mi conocimiento.
fuente