【Android】ハードコーディング(直接書いた)した文字列を全て検索してみる

スマホを操作している女性 Android開発

Androidアプリを開発していく上で、重要な観点があります。

上司
上司

それは、、、
「文字列を Strings に定義しているか」

みなさんが開発されているアプリはちゃんと文字列をリソースファイルに定義していますか?

リソースの定義

原点回帰、復習してみましょう。

Androidでは、文字列やレイアウトのスタイルなどを定義できる「リソースファイル」というものがあります。

ジョージ・眉間シワ男
ジョージ・眉間シワ男

基本的に XML で定義されてるな!

これに、テキストを定義しておき、指定したIDを使って表示させたりするわけですね。

リソース定義を何故するのか

登録ボタンや更新ボタンなどがあるアプリを想像してみてください。

「基本的に登録ボタンって1つしかないし、ハードコーディングでよくね?」

と思いますよね。

僕

わかります。
正直そうですよね。

ただ、文字列は文字列でまとめて管理しておく方が、何かと便利です。

リソースを1箇所に定義する解説図

また、Stringsに定義してID固有で保持しておけば多言語対応する場合にも役立ちます。

ハードコーディングした文字列を検索する

画面上部のメニューから「Analyze」を選択し、「Run Inspection By Name…」を選択しましょう。

AndroidStudioのAnalyzeメニュー

ショートカットは、Command + alt + Shift + I です。

入力欄が表示されるので、そこに「hard」と入力します。

Run Inspection by Nameウィンドウ

いくつか選択肢が表示されるので、「Hardcoded text」を選択しましょう。

そしてしばらく待つと、画面下の「Inspection Results」に結果が表示されます!

Run Inspection by Nameの結果

こちらに書かれている文字列を1つ1つ修正していきましょう!

【おまけ】 かんたんに Stringsへ定義する方法

抽出したい文字列を選択した状態で、「alt + Enter」を押すとメニューが表示されます。

文字列の抽出

そのメニューの中の「Extract Resource」を選択します。

あとは「Resource name」に好きなIDを設定して OK を押すだけです。

Extract Resourceウィンドウ

こちらの記事では、その他の便利なショートカットを紹介しています!
ぜひご活用ください。

【Android Studio】Macで開発するときに便利なショートカット一覧
AndroidStudioで使える便利なショートカットキーをまとめてみました!

参考

文字列リソース  |  Android Developers
タイトルとURLをコピーしました