【Kotlin】Android developers公式の学習コース②【やってみた】
Androidアプリ作成二日目。
今日の収穫↓
・使いたい文字列はハードコーディングせずstrings.xmlに登録してから使う。当たり前だけど忘れずに。
([app] > [res] > [values] > strings.xml)
Ex)
<resources>
<string name="app_name">Happy Birthday</string> // アプリ名
<string name="happy_birthday_text">Happy Birthday!</string>
<string name="signature_text">From Sam.</string>
</resources>
<TextView
android:fontFamily="sans-serif-light"
android:text="@string/happy_birthday_text"
android:textColor="@color/black"
android:textSize="34sp"
/>
※strings.xmlに登録した文字列をレイアウトのとこで取得して使うには
レイアウトのtextに@string/happy_birthday_text指定したらよい。
・画像を文字の下に配置したい場合
Component Tree内のConstraintLayoutにある色んな要素(textViewやimageViewとか)
の一番上にimageViewを移動させたらよい。
・Android Studio の [Resource Manager] を使用すると画像やその他リソースを追加して配置できる
[View] > [Tool Windows] > [Resource Manager]
・ImageView はアプリ内で画像を表示するための UI 要素
・ImageViews にはアプリを利用しやすくする内容説明を設定するように
・ユーザーに表示するテキストは文字列リソースに抽出(strings.xml)し、他言語への翻訳をしやすくした方がいい
・Androidでは、main() 関数を呼び出す代わりにアプリ初回起動時に Android システムが MainActivity の onCreate() メソッドを呼び出す
・MainActivity.kt クラスを変更して、アプリにインタラクティブな動作を追加できる
・setOnClickListener() を使って Button に on-click リスナーを設定し、Button がクリックされたときの動作を追加できる
・IntRange で random() 関数を呼び出し乱数を生成できる((1..6).random())
・インスタンスを作成するとき、クラスに値を指定できる。たとえばclass Dice(val numSides: Int) のように指定してから、Dice(6) でインスタンスを作成できる
・関数は値を返せる。関数定義で返されるデータ型を指定し関数本体で return使用して値を返す(例: fun example(): Int { return 5 })
・whenを使用すると、値の比較に基づいてコンパクトな形式でコードを実行できる。
・setImageResource() を使ってImageView に表示される画像を変更できる
・when式などの制御ステートメントで色んなケースを処理できる。状況に応じて異なる画像を表示したりとか
難しいーーーーー!!!