在我的应用程序中,我尝试减少了更新字符串名称所需的位置,因此我在Resources / values / Strings.xml文件中添加了一个字符串,但是当我尝试测试构建时,出现了一个奇怪的错误我无法找到解决方案,也不知道为什么要这样做。
有人对此有任何了解吗?
此处是xml代码:
<resources>
<string name="service_name">ITMNotificationService</string>
</resources>
在“服务”属性中使用它:
[Service (Label = "@string/service_name"
, Name = "@string/service_name"
, Icon = "@drawable/ITMIcon"
)]
控制台中的错误;
答案 0 :(得分:0)
Name
的{{1}}参数定义将在编译时生成的ACW中使用的Java类名称。
因此ServiceAttribute
的文字字符串不能用于Java类名,因为这是无效的。通常,这是包含您的程序包ID的完全合格的类名。
@string/service_name
您可以通过C#Name = "com.sushihangover.coolapp.mywickedservice"
字符串来定义此字符串,但不能通过基于Android资源的字符串值来定义。
注意:您不需要定义const
,Xamarin将通过MD5哈希例程自动生成一个。然后,在调用Name
方法时使用typeof
代替Java类名。