2013-07-20 39 views
2

,當我在Android的佈局添加任何元素,編譯器(蝕)顯示了元素的屬性android:text="Text" 警告是什麼意思如下警告。警告在Android的xml文件

「[118N]硬編碼字符串 」文本「,應使用@string資源」

當我們添加@包含 「的myString%」 字符串提示錯誤。

回答

3

警告是皮棉警告。它警告可能的錯誤。如果你願意,你可以忽略它。但我覺得它是一個有用的信息。

而是硬編碼字符串值TextView的定義strings.xml中的字符串,並參考類似@字符串/ MyString的

同樣從

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

的Android皮棉報價是在ADT推出的新工具16(和工具16)掃描Android項目來源的潛在錯誤。它既可作爲命令行工具,又可與Eclipse集成(如下所述)和IntelliJ(細節)。該體系結構有意與IDE獨立,因此它有望與其他IDE集成,並與其他構建工具和持續集成系統集成。

這裏的皮棉列表檢查

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

爲了解決

定義在res /價值/ strings.xml中的資源

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

以XML

android:text="@string/hello_world" 
+0

但是當我們像字符串「%myString」那樣添加@時,它會給出錯誤。 – FAISAL

+0

@LASIAF我不明白。警告與錯誤不同。 – Raghunandan

+0

但是當我們添加@字符串像「%myString」時,它會給出錯誤。然後警告轉換成錯誤 – FAISAL

2

你不會陷入麻煩。但仍然在你的xml中使用@string/yourString是一個很好的做法&它會提高你的應用程序的性能。

完全不用擔心這些警告。也許android開發者認爲這不是一個好習慣。 但是,如果您的應用程序可能支持多種語言,那麼最好使用@ string/mystring。

您需要聲明中string.xml喜歡你的文字:

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

而且你需要在XML中使用的類似文本:

android:text="@string/hello_world" 
3

這意味着,在您的RES /值目錄,你應該創建一個strings.xml文件,並在其中放置一個像這樣的定義:

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

and the n使用@string/my_string引用它的XML屬性或getResources().getString(R.string.my_string);內使用你的代碼中該字符串。

0

警告說,最好使用字符串資源,而不是硬編碼有關控制文本屬性文本,
還有比這些警告像更多的「避免使用‘像素’爲單位,使用‘DP’,而不是」等上。
這是非常有用的,養成了良好的應用

1

因爲以上的人都有關的警告可能解釋,我想我可以解釋優勢,使用字符串資源的。如果你的代碼像android:text="hello world",讓我們說這是的標題你應用程序,它在你的應用程序中被多次使用,突然你的老闆想要改變名字,那麼你可能想要改變每個地方,你已經硬編碼,通過使用字符串資源你幾乎可以改變相同的字符串用在每一處,通過只改變的字符串值