一般的な方法で、すべてのBundleオブジェクトを反復処理するヘルパー メソッドを作成しようとしています。
「一般的な」とは、次のことを意味します。
- パラメーターとして渡されたバンドル内のオブジェクトの名前 (キー) を知る必要はありません。
- 将来別のメンバー (キー) がバンドルに追加された場合、変更する必要はありません。
これまでのところ、それを達成するために次の概要を理解しています。
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.
}
}
}
このアプローチはまったく理にかなっていますか?
これを達成するためのより良い方法はありますか?