[I18N] Hardcoded string "★★", should use @string resource

エラー警告

エラーメッセージ

 状態:解決済  閲覧数:3,089  投稿日:2014-03-29  更新日:2014-03-29
[I18N] Hardcoded string "★★", should use @string resource


内容


ハードコーディングに関する警告
・(表面上の)動作支障は発生しない
・レイアウトファイルに文字列をハードコードすることは、良い習慣ではない
・具体的には、文字列リソースファイルに追加して、レイアウトから参照するべき
・こうすることで、文字列に変更が生じた際の対応等が容易になる(効率的管理の追求)
・また「strings.xml」に分離することで、多言語対応も可能になる(ソースコードに文字列を直書きしている場合は、実質不可)
※ハードコード【hard code】(ハードコーディング) … 特定の動作環境を決め打ちして、その動作環境で動作させることを前提とした処理やデータをソースコードの中に書き込んでしまうプログラミング方式

実際に遭遇した例1

 閲覧数:591 投稿日:2014-03-29 更新日:2014-03-29

警告メッセージ


[I18N] Hardcoded string "保存", should use @string resource


対応


対象ファイル
▼/res/layout/test1_1.xml
<Button  
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="保存"
   />

   ↓
<Button  
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@string/save"
   />


▼/res/values/strings.xml
<resources>

   <string name="hello">Hello World, SetContentView1_1Activity!</string>
   <string name="app_name">SetContentView1_1</string>
</resources>

   ↓
<resources>

   <string name="hello">Hello World, SetContentView1_1Activity!</string>
   <string name="app_name">SetContentView1_1</string>
   <string name="save">保存</string>
</resources>


実際に遭遇した例2

 閲覧数:616 投稿日:2014-03-29 更新日:2014-03-29

内容


・日本語直書しているのに、「警告メッセージ … [I18N] Hardcoded string "保存", should use @string resource」が表示されない


対応


・対象ファイル 「▼/res/layout/test.xml」を新規保存すれば、警告メッセージが表示される
・後は、上記対応例の通り


SDK Manager: failed to install

This text field does not specify an inputType or a hint



週間人気ページランキング / 4-29 → 5-5
順位 ページタイトル抜粋 アクセス数
1 Androidエミュレータで、PCキーボード入力を有効にしたい | エミュレータ(環境構築) 28
2 public 型 ★★ はそれ独自のファイル内に定義されなければなりません | エラー 20
3 この行に複数マーカーがあります | エラー(エラー) 17
4 インポートされた ★★ は見つかりません | エラー 13
5 「Android Studio 3.0.1」で、デザインプレビュー画面が表示されない。「waiting build for finish」が終わらない | Android Studio(IDE) 9
5 ○○は解決できないか、フィールドではありません | エラー(エラー) 9
6 プラグイン "org.eclipse.ui.workbench" からのコードの起動で問題が発生しました | エラー(エラー) 8
7 いくつかのプロジェクトは、ワークスペース・ディレクトリーにすでに存在するため、インポートできません | エラー 5
8 Eclipseが起動しない … ユーザ操作は待機中です | Eclipse(IDE) 3
8 Apache Maven がインストール出来ない | Apache Maven(環境構築) 3
8 No resource identifier found for attribute 'showAsAction' in package 'android' | エラー 3
8 Android FAQ 3
8 Android Studio で、ソースコードが改行できない | Android Studio(IDE) 3
9 Eclipse で「プロジェクト名」「パッケージ名」を変更する方法 | Eclipse(IDE) 2
9 インポートされた java.io は見つかりません | エラー(エラー) 2
9 Invalid property category path: ValidationPropertiesPage (bundle: org.eclipse.wst.xml.ui, propertyPage: org.eclipse.wst.xml.ui.propertyPage.project.validation) | 警告(エラー) 2
9 キーバインドの競合が発生しました。 通常のアクセラレーター操作を妨げる可能性があります。 | エラー(エラー) 2
9 Android Studio の Designプレビュー で、ウィジェットをドラッグ配置できない | Android Studio(IDE) 2
9 values-ja/strings.xmlに記載した内容が反映されない | 多言語化(環境構築) 2
10 「android compile with 」プルダウン内容が表示されないため、プロジェクト作成完了ボタンをクリックできない | プロジェクト(環境構築) 1
2025/5/6 1:01 更新