[Android] ¿Cómo sé qué datos se proporcionan en un paquete?



Answers

public static String bundle2string(Bundle bundle) {
    if (bundle == null) {
        return null;
    }
    String string = "Bundle{";
    for (String key : bundle.keySet()) {
        string += " " + key + " => " + bundle.get(key) + ";";
    }
    string += " }Bundle";
    return string;
}
Question

Me está costando un tiempo descifrar qué datos están llegando a mis métodos a través de Intent / Bundle s. Intenté agregar puntos de interrupción para inspeccionar los datos, pero no veo nada. Tal vez porque es un Parcelable no puedo leerlo manualmente en Eclipse.

Por ejemplo, un onActivityResult(int requestCode, int resultCode, Intent data) para un Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI) . ¿Cómo sé qué datos hay disponibles? Tenga en cuenta que no pregunto qué datos hay disponibles, pero ¿cómo diablos lo averiguo para poder aplicar la misma idea a cualquier Bundle / Intent del marco de Android? Quizás es tan simple como mirar los documentos, pero no veo una lista completa de los datos y no puedo verlos en Eclipse. Entonces estoy perdido.




Lo único que obtienes de un paquete es lo que pones. Los paquetes son formas de pasar información entre actividades. Si estás a cargo de toda tu aplicación, no deberías necesitar mirar dentro del paquete por tus objetos, solo debes agarrarlos. Piensa en claves hashmap ... si no conoces la clave, no es como si pudieras buscar el hashmap.

Para colocar un elemento en un paquete y pasarlo a la siguiente actividad, debe ponerlo como un extra. Eche un vistazo here para ver un ejemplo de cómo pasar datos a través de suplementos y paquetes entre actividades.

Copiado y pegado a continuación:

De Activity1

Intent intent = new Intent(this,myActivity2.class);
Bundle bundle = new Bundle();
bundle.putString("myValue", myValue);
intent.putExtras(bundle);
navigation.this.startActivity(intent);

En Activity2

Bundle bundle = getIntent().getExtras();
act2MyValue= bundle.getString("myValue");





Links