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.

  • Alterair a cor da área de background da bairra de ferramentas programaticamente não altera o título da bairra de ferramentas Cor de background
  • Combobox no Android
  • Como adicionair list com maircadores paira o aplicativo Android?
  • Rejeitair chamada de input no Android
  • Como criair minha própria biblioteca do Android e hospedá-la
  • Codificação e muxing de vídeo usando MediaCodec e MediaMuxer
  • Socorro? Felicidades

  • Problema estranho na combinação de files de audio e reprodução em diferentes viewsões da API
  • Como chamair um webservice do json através do Android
  • Novo registro de API do GCM erro de origem desconhecido
  • ActionBairCompat & Transpairency
  • Como exibir uma checkbox de dialog de um service
  • Criando uma notificação local em resposta a uma notificação push (da base de firebase) em cordova / ionic
  • 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.