android getSharedPreferences错误:地图值没有名称属性:布尔值

我试图找出这个错误的原因,当我尝试获取应用程序的共享首选项启动时发生。 代码只是:

settings = this.getSharedPreferences(Globals.PREFS_NAME,0)

看起来像一个腐败,但错误是在应用程序,因为我已经安装在多个设备上,同样的错误发生。 我卸载了应用程序,并重新安装它无济于事。 也做了一个完全干净的构build。 我GOOGLE了错误,似乎无法find任何东西。

我以前工作正常。 所以我是一个相当难住。 任何线索将非常高度赞赏…

问候,

W/ApplicationContext( 1541): getSharedPreferences W/ApplicationContext( 1541): org.xmlpull.v1.XmlPullParserException: Map value without name attribute: boolean W/ApplicationContext( 1541): at com.android.internal.util.XmlUtils.readThisMapXml(XmlUtils.java:521) W/ApplicationContext( 1541): at com.android.internal.util.XmlUtils.readThisValueXml(XmlUtils.java:733) W/ApplicationContext( 1541): at com.android.internal.util.XmlUtils.readValueXml(XmlUtils.java:667) W/ApplicationContext( 1541): at com.android.internal.util.XmlUtils.readMapXml(XmlUtils.java:470) W/ApplicationContext( 1541): at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:376) W/ApplicationContext( 1541): at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:146) W/ApplicationContext( 1541): at net.robmunro.mypod.WelcomeActivity.onEWCreate(WelcomeActivity.java:160) W/ApplicationContext( 1541): at net.robmunro.mypod.AbstractEWActivity.onCreate(AbstractEWActivity.java:25) W/ApplicationContext( 1541): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) W/ApplicationContext( 1541): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) W/ApplicationContext( 1541): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) W/ApplicationContext( 1541): at android.app.ActivityThread.access$1500(ActivityThread.java:117) W/ApplicationContext( 1541): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) W/ApplicationContext( 1541): at android.os.Handler.dispatchMessage(Handler.java:99) W/ApplicationContext( 1541): at android.os.Looper.loop(Looper.java:123) W/ApplicationContext( 1541): at android.app.ActivityThread.main(ActivityThread.java:3683) W/ApplicationContext( 1541): at java.lang.reflect.Method.invokeNative(Native Method) W/ApplicationContext( 1541): at java.lang.reflect.Method.invoke(Method.java:507) W/ApplicationContext( 1541): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) W/ApplicationContext( 1541): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) W/ApplicationContext( 1541): at dalvik.system.NativeStart.main(Native Method) 

Solutions Collecting From Web of "android getSharedPreferences错误:地图值没有名称属性:布尔值"

你能够在仿真器上重现吗? 如果是,那么您可以使用Eclipse DDMS工具提取prefs文件来调查prefs文件的内容。

谢谢你的提示。 prefs文件是

 <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <boolean value="false" /> <boolean name="initialised" value="true" /> <boolean name="upd.auto" value="true" /> <long name="backup.last" value="1300662039054" /> <string name="msg.read">0.995.18Beta</string> </map> 

事实certificate,我正在为首选项写一个空的首选项名称 – 所以错误是正确的 – 虽然我不认为API应该让你这样做,因为首先不能被读取。

反正,一个小学生的错误,但到了那里…

感谢您的快速回复,抢劫

在我的情况

 public static String docsDownloadStatus; SharedPreferences sharedPref = context.getSharedPreferences( "Pref-Values", Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPref.edit(); >>>> editor.putString(docsDownloadStatus, value); editor.commit(); 

“docsDownloadStatus”没有被初始化,因为整个共享的pref文件被损坏了。 初始化docsDownloadStatus键后,一切正常。