0
0

[Kotlin]Hardcoded String ~~ should @use Stringについて考える[初心者]

Posted at

はじめに

こんにちは、mAgmAです。

今回はAndroid Studioで黄色エラー表示である「Hardcoded string ~~, should @use resource」について考えていこうと思います。

どんなエラー?

今回のエラーは以下の通りです。

qiita.rb
Hardcoded string "時間を入力してください。例)45", should use `@string` resource
Hardcoded string "運動時間", should use `@string` resource
Hardcoded string "休憩時間", should use `@string` resource
Hardcoded string "時間を入力してください", should use `@string` resource
Hardcoded string "スタート", should use `@string` resource

上記を見てみると、全て日本語を入力していることが分かります。
2バイトにしていることが原因かもしれません。

解決法

このエラーの意味は、
 「プログラム上に直接入力しているから、変数を使おう」
ということを言っています。

具体的に言うと、
このエラーには

  1. Hardcoded
  2. @string
これら2つのキーワードがあります。

Hardcoded

これは、「直接書いているモノ」です。「マジックコード」とも呼ばれます。
上記で言うと、["時間を入力してください。例)45"]です。

これが何故エラーと出るかというと、
とても長いプログラムを書いたときにこれが何を表しているか分からなくなるからです。

なにか特定のモノを書きたいときは、変数に入れようということらしいです。

@string

これは、「@stringにある変数を使おう」ということです。
私もこのエラーが出て調べるまで知らなかったのですが、Android Studioには変数を格納しておくファイルがあったんですよね。

それが、string.xmlです!
場所はこちらです。

ここに使いたい文言を変数として格納しておくことで、他のファイルでこのファイルにある変数を使用することができます。
ちなみに、使用方法は

activity_main.xml
android:text="@string/{name属性}"

です!

これでエラーの解決が出来ました!

まとめ

今回は、黄色のエラー「Hardcoded String ~~ should @use String」について考えました。
実際のプログラム実行には直接関係のないエラーですが、コードを変更するときに混乱しないようにしっかりと変数の定義をしていきましょう!

では!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0