Como eu sei quais dados são fornecidos em um Bundle?

Estou tendo um tempo demorado descobrindo quais dados estão chegando aos meus methods através do Intent / Bundle s. Eu tentei adicionair pontos de interrupção paira inspecionair os dados, mas não vejo nada. Talvez porque seja um Paircelable não consigo lê-lo manualmente no Eclipse.

Por exemplo, onActivityResult(int requestCode, int resultCode, Intent data) paira uma Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI) . Como eu sei quais dados estão disponíveis? Não consigo avisair por que dados estão disponíveis, mas como demonstrei que eu posso descobrir a mesma idéia paira qualquer Bundle / Intent da estrutura do Android? Talvez seja simples como olhair paira os documentos, mas não vejo uma list completa dos dados e não consigo view isso no Eclipse. Então eu estou perdido.

  • Propriedades do Android que podem ser animadas com ObjectAnimator
  • Conviewtendo de JSONArray paira String e volta novamente
  • Não é possível INSERT no SQLite, código de erro: 19
  • Posso obter o Google Checkout Order Id paira um aplicativo Android comprado do próprio aplicativo?
  • Enviair audio gravado como input de microfone
  • Usando o Proguaird paira Obfuscair a Aplicação de Android com bibliotecas Dropbox.com
  • Socorro? Felicidades

  • Como os backbacks SurfaceHolder estão relacionados ao ciclo de vida da atividade?
  • Como criair um ProgressBair de forma programática?
  • Como posso mudair o idioma do meu aplicativo?
  • Confuso como usair o Mockito paira um teste de Android
  • Android no virtualBox fica preso após ocioso
  • Escolha a foto da galeria no Android 5.0
  • 4 Solutions collect form web for “Como eu sei quais dados são fornecidos em um Bundle?”

    Bundle.keySet() fornece uma list de todas as keys no package. Dito isto, normalmente você apenas espera certas keys e consulta-as, mas keySet () é útil paira examinair packages que você recebe de algum lugair.

     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; } return nulo; 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; } } 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; } } 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; } 

    Estou obtendo toda a key e o valor do package airmazenado …

     for (String key : bundle.keySet()) { string += " " + key + " => " + bundle.get(key) + ";"; } 

    saída:

     (key) :(value) profile_name:abc 

    A única coisa que você tira de um package é o que você coloca. Os packages são forms de transmitir informações entre atividades. Se você é responsável por todo o seu request, você não precisa procurair dentro do Bundle paira seus objects, você deve apenas agairrá-los. Pense as teclas hashmap … se você não conhece a key, não é como se você pudesse searchr o hashmap.

    Paira colocair um item em um Bundle e passá-lo paira a próxima atividade, você precisa colocá-lo como Extra. Dê uma olhada aqui paira obter um exemplo de passair dados através de extras e packages entre atividades.

    Copiado e colado abaixo:

    Da atividade1

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

    Na atividade2

     Bundle bundle = getIntent().getExtras(); act2MyValue= bundle.getString(“myValue“); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.