Buravo46's Note

学んだ事を書いていくブログです。

【Android】Hardcoded string “***”, should use @ string resource.

経緯

AndroidStudioでHelloWorldと表示しようとしたら、画面の設定ファイルでHardcoded string “***”, should use @string resourceとワーニングが表示されて少し気になったので調べてみました。

f:id:buravo46:20150218153615p:plain

環境

IDE : AndroidStudio 1.02

OS : WindowsOS7

AVD : Nexus 5 API 19

原因

画面の設定ファイルでTextViewに直接文字を入力したのが原因かもしれません。

解決策

表示する文字列の設定ファイルがきちんと用意されているらしく、そのファイルに文字を記述して画面の設定ファイルなどで使うのが推奨されているみたいです。

私はProject内のapp/res/values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">Test01</string>
    <string name="main_text_view">Hello world</string>
    <string name="action_settings">Settings</string>
</resources>

f:id:buravo46:20150218153642p:plain

と記述して、画面の設定ファイルのほうでTextViewのtextにmain_text_viewを選択したらワーニングが表示されなくなりました。

f:id:buravo46:20150218153653p:plain

まとめ

画面の設定ファイルで文字を表示する場合は、使用する文字を表示する文字列の設定ファイルに記述して使うようにしたほうがいいかもしれません。

参考サイト

TechFun.cc - 最初のAndroidアプリ 画面の作成

素人プログラマ奮闘記 - Strings.xmlについての勉強

stackoverflow - hardcoded string “row three”, should use @string resource