【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式などの制御ステートメントで色んなケースを処理できる。状況に応じて異なる画像を表示したりとか

 

 

 

難しいーーーーー!!!