Android:复制/复制SharedPreferences

前端之家收集整理的这篇文章主要介绍了Android:复制/复制SharedPreferences前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法复制或复制SharedPreference?或者我需要从一个变量中获取每个变量然后将它们放入另一个变量中?

解决方法

尝试像这样的东西:
//sp1 is the shared pref to copy to
SharedPreferences.Editor ed = sp1.edit(); 
SharedPreferences sp = Sp2; //The shared preferences to copy from
ed.clear(); // This clears the one we are copying to,but you don't necessarily need to do that.
//Cycle through all the entries in the sp
for(Entry<String,?> entry : sp.getAll().entrySet()){ 
 Object v = entry.getValue(); 
 String key = entry.getKey();
 //Now we just figure out what type it is,so we can copy it.
 // Note that i am using Boolean and Integer instead of boolean and int.
 // That's because the Entry class can only hold objects and int and boolean are primatives.
 if(v instanceof Boolean) 
 // Also note that i have to cast the object to a Boolean 
 // and then use .booleanValue to get the boolean
    ed.putBoolean(key,((Boolean)v).booleanValue());
 else if(v instanceof Float)
    ed.putFloat(key,((Float)v).floatValue());
 else if(v instanceof Integer)
    ed.putInt(key,((Integer)v).intValue());
 else if(v instanceof Long)
    ed.putLong(key,((Long)v).longValue());
 else if(v instanceof String)
    ed.putString(key,((String)v));         
}
ed.commit(); //save it.

希望这可以帮助.

原文链接:https://www.f2er.com/android/316493.html

猜你在找的Android相关文章