Androidアプリ開発メモ:strings.xml

どうも、果汁1%程度です

 

Android Studioでの開発メモ

 f:id:kajyu-1per:20200225210529p:plain

strings.xmlについてです

 

 

何ができる?

strings.xmlには文字データを登録
IDをつけて管理します

 

何に使う?

文字データをIDで管理します


言語の切り替え用、かな、たぶん

 

strings.xmlを英語、日本語とか
用意しといて切り替える
とかできるんでしょう

 

のちのちやっていきます

 

どこにある? 

strings.xmlはここにあります

f:id:kajyu-1per:20200229070037p:plain

 

記述方法

記述方法はこんな感じ

 

フォーマット

<string name="A">B</string>

 

A:文字データのID

B:文字データ

 

記述例

<resources>
 <string name="app_name">strings.xmlの説明</string>
 <string name="tv_hello">こんにちわんわん</string>
</resources>

 

A:tv_hello

B:こんにちわんわん

 

という感じで記述します

 

使われ方

これはどう使われるのか、というと

 

レイアウトファイル(main_activity.xml)

ソースコード(MainAcvitity.kt)

の中で使います

 

レイアウトファイル(main_activity.xml)の場合

strings.xmlで作った「tv_hello」

を指定して文字を表示できます

 

指定方法はレイアウトファイル内に

以下を記述します

 

android:text = "@string/ID"

 

今回はIDの部分がtv_helloなので

こんな感じ

  <TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/tv_hello"/>

 ソースファイル(MainActivity.kt)の場合

ソースファイル内では

指定方法はレイアウトファイル内に

記述したIDを使用します

 

android:id="@+id/ID"

 

IDはtextviewとしておきます

 

  <TextView

android:id="@+id/textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

 

ソースファイル内でtextviewに

strings.xmlのデータ「tv_hello」を

指定するコードを記述します

 

override fun onCreate(savedInstanceState: Bundle?) {
 super.onCreate(savedInstanceState)
 setContentView(R.layout.activity_main)

 textview.setText(R.string.tv_hello)

}

 

 レイアウトファイル、

ソースファイルともに

 画面はこんな感じ

 

f:id:kajyu-1per:20200229070554p:plain

 

 レイアウトファイルとか

ソースファイルとか

コードがでてきてしまいましたが

 

のちのち書いていこうと思います