Android Kotlin基礎講座 01.2: 基本的なアプリの構造
目次
まとめ
アクティビティ
- MainActivityはAppCompatActivityのサブクラスです。またAppCompatActivityはActivityのサブクラスです。ActivityはAndroidの核となるクラスで、アプリのUIを描写したり、ユーザーからのインプットを受け取ったりする役割を担っています。
- 全てのアクティビティはそれに紐づいたレイアウトファイル(XMLファイル)を持っています。レイアウトファイルは紐づくアクティビティの名前に応じて命名されます。(例:activity_main.xml)
- MainActivityの中のsetContentView()メソッドはレイアウトをアクティビティを紐づけ、アクティビティが作られた際にレイアウトをインフレートします。
- レイアウトインフレーションとはXMLレイアウトファイルに定義されたビューがメモリー上でKotlinビューオブジェクトに変換される(インフレートされるともいう)過程のことをいいます。一度レイアウトインフレーションが起こると、アクティビティはインフレートされたオブジェクトを画面上に描写し、動的に変更することができます。
ビュー
- レイアウト上のすべてのUI要素はViewクラスのサブクラスで、ビューと呼ばれます。TextViewやButtonなどがビューの例です。
- ビュー要素はビューグループの中に含まれることがあります。ビューグループはビューのコンテナとして機能しており、ビューグループもさらに別のビューグループに含まれることがあります。含んでいるビューを直線上(水平または垂直)に配置するLinearLayoutはビューグループの例です。
ビューの属性
- android:layout_withとandroid:layout_height属性はビューの幅と高さを示しています。値がmatch_parentの場合は、そのビューの親であるビューの幅や高さに合うようにビューの幅、または高さが設定されます。値がwrap_contentの場合はそのビューのコンテンツ(TextViewのテキストなど)を包み込める最小限に幅や高さが設定されます。
- android:text属性はビューが表示する文字を示しています。(ビューが文字を表示する場合のみ)ボタンの場合はandroid:textはボタンのラベルになります。
- LinearLayoutビューグループのandroid:orientation属性はLinearLayoutが含んでいるビューの配置方法を示しています。値がhorizontalの場合は含んでいるビューを左から右に順番に配置します。値がverticalの場合は上から下に配置します。
- android:layout_gravity属性はビューとそのビューの子ビューすべての位置を示しています。
- android:textSize属性はテキストビューの文字サイズを示しています。文字サイズはsp(scalable pixels)という単位で表されます。spという単位を使うことで、端末の解像度に依存しない文字サイズを実現できます。
Strings
- ハードコード(変更不可)のstringの代わりにstringリソース(変更可)を使うことが推奨されています。
- stringリソースはvalues/res/strings.xmlファイルに格納されています。
- stringを抽出するためにはAlt+Enter(Macの場合Option+Enter)を押します。Extract string resourcesをポップアップメニューから選択してください。
ビューの使い方
- Kotlinコードをレイアウト上に定義したビューと接続するためにはビューがインフレートされた後にビューに対する参照を取得する必要があります。レイアウト上のビューにID(android:id)を付与し、findViewById()メソッドを使ってIDと紐づけられたビューの参照を取得することができます。
- レイアウトファイルからビューにIDを付与すると、Android Studioがそれに紐づくinteger定数をRクラスに生成します。findViewById()メソッドではそれをR.idで参照して利用することができます。
- プロパティの名前を利用してKotlinコードから直接ビューオブジェクトの属性を設定することができます。例えば、テキストビューのテキストはandroid:text属性としてXMLファイルでは定義されており、Kotlinコードではtextプロパティとして定義されています。
- クリックハンドラーとはユーザーがUI要素をタップすると呼ばれるメソッドのことです。ボタンのようなビューにクリックハンドラーメソッドを設定するには、setOnClickListener()メソッドを利用します。
トーストの使い方
トーストとはポップアップで表示されるシンプルなメッセージのことです。
トーストを作成するためには、ToastクラスのmakeText()というファクトリーメソッド(オブジェクトを生成するためのメソッドの総称)を使います。makeText()は以下の3つの引数を必要とします。
- アクティビティのcontextオブジェクト
- 表示するメッセージ(stringリソースなど)
- 表示する時間(Toast.LENGTH_SHORTなど)
トーストを表示するためにはshow()メソッドを利用します。
次の講座は 1.3 イメージリソースと互換性です。お疲れさまでした。
完全無料で通えるプログラミングスクール
プログラミング学習はどうしても一人だとつまづいてしまう時がきます。調べればわかることも少なくないですが、最初のうちは調べ方もわからないことが多いため、あまり効率的ではありません。
効率的かつ挫折せずにプログラミングを学習したい方はスクールを検討してみるのも一つの手です。
中には無料で通えるスクールや、就職保証をしてくれるスクールなどもあるので、きっとあなたの目的に応じて最適のスクールが見つかります!以下の記事で評判がよく特におすすめのスクールをいくつかピックアップしているので、スクール選びで後悔したくない方は御覧ください!
おすすめ書籍
Kotlinの文法をまず学びたい!という方には以下の書籍がおすすめです。Kotlinは日本語書籍がまだ豊富とは言えない状況ですが、細かく解説されており、Kotlin入門者のかたでもつまずくことなく学習できると思います。
[itemlink post_id=”1743″]実際にアプリを作りながら覚えていきたい!という方には以下もお勧めです。はじめに上の書籍で文法をさらっと学んでから取り組むのがお勧めです。
[itemlink post_id=”1745″]