为什么Facebook应用程序ID在AndroidManifest.xml中的数字前面需要一个空格?

为什么Facebook应用程序ID在AndroidManifest.xml中的数字前面需要一个空格?,android,xml,facebook,Android,Xml,Facebook,当Android应用程序使用Facebook时,如果应用程序ID包含在AndroidManifest.xml中(编辑:结果不建议这样做),则该值需要有一个空格作为其第一个字符,并用如下反斜杠转义: <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="\ 00000"/> 我的问题是,为什么这里需要反斜杠转义空间 当你把一个价值放进去的时候,这是一个让你思考你在做什么的障碍吗?它是为了确保

当Android应用程序使用Facebook时,如果应用程序ID包含在AndroidManifest.xml中(编辑:结果不建议这样做),则该值需要有一个空格作为其第一个字符,并用如下反斜杠转义:

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="\ 00000"/>

我的问题是,为什么这里需要反斜杠转义空间


当你把一个价值放进去的时候,这是一个让你思考你在做什么的障碍吗?它是为了确保某些解析器将其视为字符串而不是十进制数吗?

我将实际添加一个答案,以便它可以被接受。最佳实践是使用@string值

在您的strings.xml中添加:

<string name="app_id">123456789</string>
123456789
然后,在你的舱单上:

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>


您可能希望使用@string值,而不是硬编码文本。它会帮你解决那个问题的。很高兴知道。这表明我的第二个猜测接近正确?(前导空格导致解析器推断
字符串
而不是
整数
)经过一些研究,我认为这是一个相当准确的猜测。我找不到任何关于xml解析以及转换如何工作(隐式与显式)的硬性规则,但我想说的是,这是正确的。