android xml文件中的警告

Posted

技术标签:

【中文标题】android xml文件中的警告【英文标题】:Warning in android xml file 【发布时间】:2013-07-19 12:58:30 【问题描述】:

当我在 android 布局中添加任何元素时,编译器 (eclipse) 会在元素属性 android:text="Text" 上显示警告 以下警告是什么意思。

"[118N]硬编码字符串"Text",应该使用@string资源"

当我们用“myString%”之类的字符串添加@时,它会出错。

【问题讨论】:

【参考方案1】:

警告是 Lint 警告。它警告可能的错误。如果你愿意,你可以忽略它。但我觉得这是一个有用的信息。

不是将字符串值硬编码到 textview 中,而是在 strings.xml 中定义字符串并引用 @strings/mystring 之类的相同

引用自

http://tools.android.com/tips/lint

Android Lint 是 ADT 16(和 Tools 16)中引入的一个新工具,它可以扫描 Android 项目源代码中的潜在错误。它既可以作为命令行工具使用,也可以与 Eclipse(如下所述)和 IntelliJ(详细信息)集成。该架构有意独立于 IDE,因此有望与其他 IDE、其他构建工具以及持续集成系统集成。

这是 Lint 检查列表

http://tools.android.com/tips/lint-checks

解决

在 res/values/strings.xml 中定义资源

  <string name="hello_world">Hello world!</string>

在xml中

  android:text="@string/hello_world"  

【讨论】:

但是当我们用类似 "%myString" 的字符串添加 @ 时会出错。 @LASIAF 我不明白。警告与错误不同。 但是当我们用像“%myString”这样的字符串添加@时,它会出错。然后警告转换为错误 @LASIAF 这是一个错误。您的字符串资源由@string/stringname 引用。这也不会给出错误android:text="@%string/hello_world",它将是一个字符串。 @LASIAF 如果你再次使用%string/hello_world,lint 会警告你【参考方案2】:

这意味着在您的 res/values 文件夹中,您应该创建一个 strings.xml 文件并在其中放置如下定义:

<?xml version="1.0"?>
    <resources> 
        <string name="my_string">Text</string>
    </resources>

然后使用 @string/my_string 在 xml 属性中引用它,或使用 getResources().getString(R.string.my_string); 在代码中使用该字符串。

【讨论】:

【参考方案3】:

您不会遇到麻烦。但仍然在您的 xml 中使用 @string/yourString 将是一个很好的做法,它会提高您的应用程序性能。

不用担心这些警告。也许android开发人员认为这不是一个好习惯。 但是如果你的应用程序有一天可能支持多语言,使用@string/mystring 是最好的做法。

您需要在string.xml 中声明您的文本,例如:

  <string name="hello_world">androiddevelopmentworld!</string>

你需要在 xml 中使用像这样的文本:

 android:text="@string/hello_world"  

【讨论】:

【参考方案4】:

因为上面的每个人都可能解释过警告,我想我可以解释一下使用字符串资源的优势。如果你的代码像android:text="hello world",假设它是你的应用程序的标题,它在您的应用程序中多次使用,突然您的老板想要更改名称,然后您可能想要更改您已经硬编码的每个位置,通过使用 string resource 您几乎可以更改相同的通过仅更改 字符串的值

,在每个位置使用字符串

【讨论】:

【参考方案5】:

警告说,控件上的文本属性最好使用字符串资源而不是硬编码文本, 这些警告不仅仅是“避免使用'px'作为单位,而是使用'dp'”等等。 开发一个好的应用程序非常有用

【讨论】:

以上是关于android xml文件中的警告的主要内容,如果未能解决你的问题,请参考以下文章

如何解决XML文件中的警告提示“No grammar constraints (DTD or XML Schema) referenced in the document.”

IDEA 去除XML中的黄色警告线

android中的xml文件更新

在 android 设备上修改 zip 文件中的 xml 文件

文件无法验证为XML定义,如何修复faces-config.xml警告?

Android项目中的config.xml文件 “config.xml”