Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Print the contents of a Bundle to Logcat?

Is there an easy way to print the contents of a Bundle to Logcat if you can't remember the names of all the keys (even being able to print just the key names would be cool)?

like image 743
Quasaur Avatar asked Feb 19 '13 02:02

Quasaur


1 Answers

Bundle#keySet() should work.

for (String key: bundle.keySet()) {   Log.d ("myApplication", key + " is a key in the bundle"); } 

And if you want to get the Object, you can use Bundle#get(String key)(which is also in the same documentation I linked at the top of my answer). However, keep in mind using the generic get() call:

  • You're working with Object. If you're simply printing to a Log, toString() will be invoked and all will be fine. However, if you actually want to use the key's pair, you need to do instanceof checks to avoid calling the wrong method.
  • Since toString will be invoked, if you have a special Object (eg ArrayLists, or special Serializable/Parcelable extras) you're most likely not going to get anything useful from the printout.
like image 163
A--C Avatar answered Sep 19 '22 08:09

A--C