对于我的Android应用,我需要在AndroidManifest.xml中将以下属性添加到<application>
:
<application android:name="de.myapp.My-App.de">
项目名称为“My-App.de”。我知道在这里使用破折号和点不是一个好主意,但我不能改变它。产品所有者希望它像这样调用。
由于收到错误消息,我只是使用“\”字符转义短划线,这会导致此名称:
<application android:name="de.myapp.My\-App.de">
这是对的吗?最后一个点也必须被转义吗?
答案 0 :(得分:2)
在strings.xml
文件夹下的res/values
,您可以像这样添加您的应用名称:
<string name="app_name">de.myapp.My-App.de</string>
然后在AndroidManifest.xml
中,您可以参考它:
<application android:name="@string/app_name">
这将允许您的应用名称包含破折号。
答案 1 :(得分:2)
android:label
?只是一个旁注。如果您的客户告诉您使用钚键盘而不是常规键盘,您会接受吗?有时(几乎每次)我们必须摆脱我们没有相同背景的客户,特别是在进入计算机科学时。如果无法完成某些事情(或者不应该做什么或者其他事情),您应该为您的客户提供服务。您可以给出很多理由:系统不太安全或可能受到损害,应用程序变得不稳定,客户希望以更容易理解的方式完成,等等。
至少在我的公司,我有责任开发 AND 来提供建议,即使我与客户交谈,我也倾向于确保他们理解他们想要的含义并知道什么无法做到,应该做些什么。
修改强>
一些资源:
http://developer.android.com/guide/topics/manifest/application-element.html#nm
Name是Application子类的完全限定名称。如您所知,课程不能用破折号书写。我们都知道Android的命名惯例并不是世界上最准确的,所以这样的问题总会出现。尝试添加到默认情况下已定义的@string/app_name
短划线。我不在我的Android项目前面,但它应该也可以。如果没有,请尝试用CDATA标记括起字符串:
<string name="app_name"><![CDATA[de.myapp.My-App.de]]></string>
这可以避免xml转义文本(这不应该是必需的,但谁知道)。
答案 2 :(得分:0)
我建议你将你的appname存储在string.xml中并编码特殊字符 - (破折号)和。 (点)unicode你可以在这里引用unicode - &gt; http://jrgraphix.net/research/unicode_blocks.php?block=0
例如.My \ u002DApp \ u002Ede
答案 3 :(得分:0)
<application android:name="de.myapp.My-App.de"> is not correct.
你只需使用
<application android:name="Package_name.Application_class_name">
包和类的名称必须