android-SharedPreferences奇怪的警告

android-SharedPreferences奇怪的警告,第1张

概述我使用SharedPreferences,有时我在logcat中收到此警告:08-2711:46:55.453:W/SharedPreferencesImpl(21824):getSharedPreferences08-2711:46:55.453:W/SharedPreferencesImpl(21824):org.xmlpull.v1.XmlPullParserException:Mapvaluewithoutnameattribute:string08-

我使用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奇怪的警告所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1076165.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存