cyb*_*6pl 5 android sharedpreferences
我有一些键值对SharedPreferences,有整数,浮点数,字符串等.有没有办法检查给定的键是否是特定类型?
编辑
我研究了文档和可用的方法.可悲的是,在我看来,我需要使它成为一种"脏"方式,只需尝试每个get方法,直到我得到的值与默认设置为参数不同.这是我唯一想到的,但不喜欢它...
Chr*_*lla 12
您可以遍历SharedPreferences中的所有条目,并使用值的getClass函数检查每个条目的数据类型.
Map<String,?> keys = sharedPreferences.getAll();
for(Map.Entry<String,?> entry : keys.entrySet())
{
Log.d("map values", entry.getKey() + ": " + entry.getValue().toString());
Log.d("data type", entry.getValue().getClass().toString());
if ( entry.getValue().getClass().equals(String.class))
Log.d("data type", "String");
else if ( entry.getValue().getClass().equals(Integer.class))
Log.d("data type", "Integer");
else if ( entry.getValue().getClass().equals(Boolean.class))
Log.d("data type", "boolean");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2567 次 |
| 最近记录: |