How to Iterate through all Bundle objects

Viewed 21706

I am trying to create helper method that would iterate through all Bundle objects, in a generic manner.

By "generic" I mean:

  1. Doesn't need to know the names (keys) of the objects in the Bundle passed as a parameter.
  2. Doesn't need to change if another member (key) was added to the Bundle in the future.

So far, I figure out the following outline to accomplish that:

  private void bundleToSharedPreferences(Bundle bundle) {
    Set<String> keys = bundle.keySet();
    for (String key : keys) {
        Object o = bundle.get(key);
        if (o.getClass().getName().contentEquals("int")) {
            // save ints
        }
        else if (o.getClass().getName().contentEquals("boolean")) {
            // save booleans
        }
        else if (o.getClass().getName().contentEquals("String")) {
            // save Strings
        }
        else {
            // etc.
        }
    } 
  }

Does this approach make sense at all?

Is there a better way of accomplishing this?

2 Answers
Related