
我使用SharedPreferences,有时我在logcat中收到此警告:
08-27 11:46:55.453: W/SharedPreferencesImpl(21824): getSharedPreferences08-27 11:46:55.453: W/SharedPreferencesImpl(21824): org.xmlpull.v1.XmlPullParserException: Map value without name attribute: string08-27 11:46:55.453: W/SharedPreferencesImpl(21824): at com.androID.internal.util.XmlUtils.readThisMapXml(XmlUtils.java:568)08-27 11:46:55.453: W/SharedPreferencesImpl(21824): at com.androID.internal.util.XmlUtils.readThisValueXml(XmlUtils.java:821)08-27 11:46:55.453: W/SharedPreferencesImpl(21824): at com.androID.internal.util.XmlUtils.readValueXml(XmlUtils.java:755)08-27 11:46:55.453: W/SharedPreferencesImpl(21824): at com.androID.internal.util.XmlUtils.readMapXml(XmlUtils.java:494)08-27 11:46:55.453: W/SharedPreferencesImpl(21824): at androID.app.SharedPreferencesImpl.loadFromdiskLocked(SharedPreferencesImpl.java:113)08-27 11:46:55.453: W/SharedPreferencesImpl(21824): at androID.app.SharedPreferencesImpl.access
这是我的SharedPreffer类:0(SharedPreferencesImpl.java:48)08-27 11:46:55.453: W/SharedPreferencesImpl(21824): at androID.app.SharedPreferencesImpl.run(SharedPreferencesImpl.java:87)它适用于大多数情况,但测试人员表示有时他们会遇到问题.有时,根本无法加载.public class SharedPreffer { String PREF_file_name = "savefile"; public SharedPreffer(Context context) { this.context = context; } Context context; public static final String DEFAulT_VALUE = ""; public voID savePreferences(String key, int value) { SharedPreferences sharedPreferences = context.getSharedPreferences( PREF_file_name, 0); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString(key, Integer.toString(value)); editor.commit(); } public voID savePreferences(String key, String value) { SharedPreferences sharedPreferences = context.getSharedPreferences( PREF_file_name, 0); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString(key, value); editor.commit(); } public voID savePreferences(String key, Boolean value) { SharedPreferences sharedPreferences = context.getSharedPreferences( PREF_file_name, 0); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString(key, Boolean.toString(value)); editor.commit(); } public String loadPreferences(String key) { SharedPreferences sharedPreferences = context.getSharedPreferences(PREF_file_name, 0); return sharedPreferences.getString(key, DEFAulT_VALUE); }}
if (key == null || key.equals("")) throw new IllegalArgumentException("Key can't be null or empty string");有人可以给我一些提示吗?
解决方法:
没有名称属性的地图值:字符串表示您的字符串键为null或为空.
在方法开始时检查这种情况,如果出了什么问题,则抛出异常,您将从那里看到传递此类无效键的地方:
总结以上是内存溢出为你收集整理的android-SharedPreferences奇怪的警告全部内容,希望文章能够帮你解决android-SharedPreferences奇怪的警告所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)