Androidアプリを開発していく上で、重要な観点があります。
![上司](https://pursue.fun/wp-content/uploads/2020/02/gregory-hayes-h5cd51KXmRQ-unsplash-1-e1580626897932.jpg)
それは、、、
「文字列を Strings に定義しているか」
みなさんが開発されているアプリはちゃんと文字列をリソースファイルに定義していますか?
リソースの定義
原点回帰、復習してみましょう。
Androidでは、文字列やレイアウトのスタイルなどを定義できる「リソースファイル」というものがあります。
![ジョージ・眉間シワ男](https://pursue.fun/wp-content/uploads/2020/02/angry-man-274175_1280-e1580547343827.jpg)
基本的に XML で定義されてるな!
これに、テキストを定義しておき、指定したIDを使って表示させたりするわけですね。
リソース定義を何故するのか
登録ボタンや更新ボタンなどがあるアプリを想像してみてください。
「基本的に登録ボタンって1つしかないし、ハードコーディングでよくね?」
と思いますよね。
![僕](https://pursue.fun/wp-content/uploads/2020/02/child-2800835_1920.jpg)
わかります。
正直そうですよね。
ただ、文字列は文字列でまとめて管理しておく方が、何かと便利です。
また、Stringsに定義してID固有で保持しておけば多言語対応する場合にも役立ちます。
ハードコーディングした文字列を検索する
画面上部のメニューから「Analyze」を選択し、「Run Inspection By Name…」を選択しましょう。
ショートカットは、Command + alt + Shift + I です。
入力欄が表示されるので、そこに「hard」と入力します。
いくつか選択肢が表示されるので、「Hardcoded text」を選択しましょう。
そしてしばらく待つと、画面下の「Inspection Results」に結果が表示されます!
こちらに書かれている文字列を1つ1つ修正していきましょう!
【おまけ】 かんたんに Stringsへ定義する方法
抽出したい文字列を選択した状態で、「alt + Enter」を押すとメニューが表示されます。
そのメニューの中の「Extract Resource」を選択します。
あとは「Resource name」に好きなIDを設定して OK を押すだけです。
こちらの記事では、その他の便利なショートカットを紹介しています!
ぜひご活用ください。
![](https://pursue.fun/wp-content/uploads/2019/11/ana-azevedo-XcUJUO2AqVA-unsplash-1-160x90.jpg)
参考
![](https://pursue.fun/wp-content/uploads/cocoon-resources/blog-card-cache/7d1534ca28dbc9acc40b905a3c4b2a64.png)