1. Android開発入門 MOC

  • Androidとは
  • Android開発の歴史と進化
    • [[Androidバージョン履歴 (Cupcakeから最新バージョンまで)]] (APIレベルとの対応)
    • [[JavaからKotlinファーストへの移行]]
    • [[UIフレームワークの変遷 (XML/ViewシステムからJetpack Composeへ)]]
    • [[主要な技術的変遷 (DalvikからARTへなど)]]
  • 開発環境のセットアップ
    • [[Android Studioのインストールとセットアップ]]
    • [[Android SDK (Software Development Kit) のインストールと管理]]
    • [[JDK (Java Development Kit) の設定]]
    • [[Android Emulator (AVD - Android Virtual Device) の作成と利用]]
    • [[実機でのデバッグ設定 (USBデバッグ)]]
  • Androidプロジェクトの構造
    • [[Gradleビルドシステム]] (詳細は後述)
    • [[マニフェストファイル (AndroidManifest.xml)]] (詳細は後述)
    • [[ディレクトリ構造 (java, res, assetsなど)]]
  • Androidアプリのライフサイクル (概観)
  • Android開発の学習ロードマップ (例)
  • iOS開発との比較 (言語、ツール、デザイン思想、収益化など)

2. サーバーサイドプログラミング言語 (Android向け) MOC

2.1. Kotlin MOC (現代のAndroid開発推奨言語)

  • Kotlinの基本
  • Kotlinの主要機能
    • [[データクラス (Data Classes)]]
    • [[拡張関数と拡張プロパティ (Extension Functions/Properties)]]
    • [[高階関数とラムダ式 (Higher-Order Functions and Lambdas)]]
    • [[スコープ関数 (let, run, with, apply, also)]]
    • [[クラスと継承 (open, override)]]
    • [[インターフェース (Interface)]]
    • [[シールドクラス (Sealed Classes)]] (状態表現に便利)
    • [[オブジェクト (Objects) とコンパニオンオブジェクト (Companion Objects)]]
    • [[ジェネリクス (Generics)]] (共変性 out, 反変性 in)
    • [[デリゲーション (Delegation)]]
  • Kotlin Coroutines MOC (非同期処理 - 詳細は後述)
  • Flow MOC (非同期データストリーム - 詳細は後述)
  • Kotlin Multiplatform (KMP) MOC (概要)

2.2. Java (Android向け) MOC (伝統的な言語)

3. UIフレームワーク MOC

3.1. Jetpack Compose MOC (モダンな宣言的UIツールキット)

  • Jetpack Composeの基本
  • 主要な概念
  • 基本的なコンポーザブル
    • [[Text, Button, TextField, Image, Icon]]
    • [[Checkbox, RadioButton, Switch, Slider]]
  • レイアウトコンポーザブル
    • [[Row, Column, Box]]
    • [[Spacer, Divider]]
    • [[LazyColumn, LazyRow, LazyVerticalGrid]]
    • [[ConstraintLayout (Compose版)]]
    • [[Scaffold, TopAppBar, BottomAppBar]]
  • テーマとスタイリング
  • ナビゲーション (Navigation)
    • [[Navigation for Compose]] (NavController, NavHost)
  • アニメーション (Animation)
    • [[animate*AsState, updateTransition, AnimatedVisibilityなど]]
  • テスト (Testing Compose)
    • [[Composeテストライブラリの利用]]
    • [[セマンティクスツリー]]
  • XML/Viewシステムとの相互運用性
    • [[ComposeView (XML内でComposeを使用)]]`
    • [[AndroidView (Compose内でViewを使用)]]`

3.2. XMLレイアウトとViewシステム MOC (伝統的な命令的UIツールキット)

  • XMLレイアウトの基本
  • 主要なレイアウト (Layouts)
    • [[LinearLayout]]
    • [[RelativeLayout]]
    • [[FrameLayout]]
    • [[ConstraintLayout]] (推奨)
    • [[CoordinatorLayout]]
  • 主要なウィジェット (Widgets)
    • [[TextView, Button, EditText, ImageView]]
    • [[CheckBox, RadioButton, Switch, ToggleButton]]
    • [[ProgressBar, SeekBar]]
  • RecyclerView MOC (効率的なリスト表示)
    • [[ViewHolderパターン]]
    • [[Adapter]]
    • [[LayoutManager]]
    • [[DiffUtil]]
  • スタイリングとテーマ (Styles and Themes)
    • [[styles.xmlthemes.xml]]
    • [[Material Design Components for Android]]
  • データバインディング (Data Binding) / ビューバインディング (View Binding)
  • イベント処理 (リスナー)
  • フラグメント (Fragment) とそのライフサイクル
  • ナビゲーション (Navigation Component) (XML/Viewシステム向け)

4. Androidアプリの基本構成要素 MOC

5. Android Jetpackライブラリ MOC

  • Jetpackの概要 (高品質なアプリ開発を支援するライブラリ群)
  • Foundationコンポーネント MOC
    • [[AppCompat]] (後方互換性)
    • [[Android KTX]] (Kotlin拡張機能)
    • [[Multidex]]
  • Architectureコンポーネント MOC (アプリの堅牢性、テスト容易性、保守性の向上)
    • [[Data Binding / View Binding]]
    • [[Lifecycle-aware Components]] (LifecycleOwner, LifecycleObserver)
    • [[LiveData]] (監視可能なデータホルダークラス)
    • [[Navigation Component]] (アプリ内ナビゲーションの簡素化)
    • [[Paging 3 Library]] (大規模データセットの段階的読み込み)
    • [[Room Persistence Library]] (SQLiteのORM - 詳細は後述)
    • [[ViewModel]] (UI関連データのライフサイクル対応保存)
    • [[WorkManager]] (バックグラウンドタスクのスケジューリング - 詳細は後述)
    • [[StateFlowSharedFlow]] (LiveDataの代替としてのKotlin Coroutines Flow)
  • Behaviorコンポーネント MOC
    • [[Download Manager]]
    • [[Permissions]]
    • [[Notifications]]
    • [[Sharing]]
  • UIコンポーネント MOC
    • [[Fragment]] (再掲)
    • [[Layout]] (ConstraintLayoutなど)
    • [[Palette]]
    • [[Animation & Transition]]

6. Androidアプリのアーキテクチャ MOC

7. データ管理と永続化 MOC

8. ネットワーク通信 MOC

9. 非同期処理 MOC

9.1. Kotlin Coroutines MOC (現代の標準)

9.2. Flow MOC (Coroutinesベースの非同期ストリーム)

  • Flowの概念 (Cold Stream)
  • [[Flowビルダー (flow, flowOfなど)]]
  • [[中間オペレータ (map, filter, onEachなど)]]
  • [[終端オペレータ (collect, first, toListなど)]]
  • StateFlow と SharedFlow (Hot Stream、UI状態管理向け)
  • [[FlowとLiveDataの比較]]

9.3. RxKotlin MOC (リアクティブプログラミング)

10. Androidテスト MOC

  • テストの基本とテストピラミッド (再掲・Android文脈)
  • Unit Tests) (JVM上で実行)
    • [[JUnit 4/5]]
    • [[Mockito / MockK (モックライブラリ)]]`
    • [[Robolectric]] (Androidフレームワークをシャドウイング)
  • インストルメンテーションテスト (Instrumented Tests) (実機/エミュレータ上で実行)
    • [[UIテスト (UI Tests)]]
      • [[Espresso]] (Viewシステム向け)
      • [[UI Automator]] (アプリ間テスト)
      • [[Composeテストライブラリ]]
    • [[インテグレーションテスト (Room, DataStoreなど)]]
    • [[Android Test Orchestrator]]
  • テストダブル (Test Doubles) の活用 (再掲)
  • テストのアーキテクチャ (テスト用DIモジュールなど)
  • CI/CDパイプラインでのテスト実行

11. アプリのリリースと運用 MOC

11.1. Google Play Console MOC

11.2. ビルドと署名 MOC

11.3. プッシュ通知とアプリ内課金 MOC

12. 主要なAndroidフレームワークとAPI MOC

13. パフォーマンスとセキュリティ MOC

13.1. Androidパフォーマンス最適化 MOC

13.2. Androidセキュリティ MOC

14. Android開発のベストプラクティスとコミュニティ MOC