Androidアプリ開発における基本コンポーネントとリソース管理

Androidアプリケーションの構築には、特有のUI要素と設計パターンを理解することが不可欠です。

アクティビティ:ユーザー操作の中核

アクティビティは画面単位の操作を管理するクラスで、ユーザーとの対話を制御します。各画面は独立したライフサイクルを持ち、AppCompatActivityを継承することで古いOSバージョンへの互換性を確保できます。

レイアウトとビュー階層

レイアウトXMLファイルは画面構成を定義し、ルート要素としてLinearLayoutなどを指定する際には、名前空間を明示的に宣言する必要があります:

xmlns:android="http://schemas.android.com/apk/res/android"

UIはViewクラスを基底とするコンポーネント群で構成されます。ViewGroupは子要素を配置するコンテナで、代表的なサブクラスにはLinearLayoutRelativeLayoutがあります。TextViewButtonは直接ユーザーとやり取りする末端コンポーネントです。

リソースの活用

画像、文字列、レイアウトなどの非コードアセットはres/配下に格納され、自動生成されるRクラスを通じて参照可能です。例えば、レイアウトファイルquiz_screen.xmlR.layout.quiz_screenでアクセスできます。

コンポーネントにIDを付与するには、属性android:id="@+id/component_name"を指定します。これにより、コード内でfindViewById()を使ってオブジェクトを取得できます:

TextView label = findViewById(R.id.label_text);
Button actionBtn = findViewById(R.id.action_button);

文字列リソースの管理

複数の言語や設定に対応するため、文字列はres/values/strings.xmlなどに集中管理します。各エントリは<string name="key">内容</string>形式で定義され、XML内では@string/key、コード内ではR.string.keyで参照します。

イベント駆動とリスナー

Androidアプリはイベント駆動型であり、ユーザー操作に応じて処理を実行します。ボタンクリックなどのイベントには、匿名内部クラスでリスナーを登録します:

actionBtn.setOnClickListener(v -> {
    // クリック時の処理
});

簡易通知:トーストメッセージ

一時的なフィードバックにはToastを使用します。表示時間やメッセージ内容を指定して作成し、show()で即時表示できます:

Toast.makeText(this, R.string.feedback_msg, Toast.LENGTH_LONG).show();

ここでthisは現在のアクティビティ(Contextのサブクラス)、R.string.feedback_msgは事前に定義した文字列リソースです。

タグ: Android Activity ViewGroup リソース管理 イベントリスナー

7月12日 21:10 投稿