Skip to content

kmp-sample-libraryを使用するAndroidアプリリポジトリ

Notifications You must be signed in to change notification settings

kei-1111/kmp-sample-android

Repository files navigation

kmp-sample-android

Kotlin Multiplatform で作成された火星の不動産情報を表示する Android アプリケーションです。

本プロジェクトは kmp-sample-library で実装された状態管理(ViewModel、Repository、データ層など)を使用し、Android 側では UI 実装のみを行っています。これにより、ビジネスロジックとプラットフォーム固有の UI 実装を明確に分離しています。

スクリーンショット

一覧画面 詳細画面

アーキテクチャ

┌─────────────────────────────────────┐
│         kmp-sample-android          │
│     (UI Layer - Android Only)       │
│                                     │
│  ┌──────────┐    ┌───────────────┐ │
│  │   App    │────│Feature Module │ │
│  └──────────┘    │   (Home UI)   │ │
│                  └───────────────┘ │
│                         │          │
└─────────────────────────┼──────────┘
                          │
                          ▼
┌─────────────────────────────────────┐
│      kmp-sample-library (KMP)       │
│                                     │
│  ┌──────────────────────────────┐  │
│  │ ViewModel / Repository       │  │
│  │ State Management             │  │
│  │ Business Logic               │  │
│  │ Data Layer                   │  │
│  └──────────────────────────────┘  │
└─────────────────────────────────────┘

技術スタック

UI 実装

  • Jetpack Compose - モダンな宣言的 UI フレームワーク
  • Material3 - Material Design 3 コンポーネント
  • Coil - 画像読み込みライブラリ

状態管理(kmp-sample-library より提供)

  • ViewModel - UI 状態の管理
  • Repository パターン - データ操作の抽象化
  • Koin - 依存性注入

ビルドシステム

  • Gradle (Kotlin DSL) - ビルド設定
  • Convention Plugins - ビルドロジックの共通化

モジュール構成

kmp-sample-android/
├── app/                      # メインアプリケーションモジュール
├── core/
│   └── designsystem/         # デザインシステム(テーマ、共通 UI コンポーネント)
├── feature/
│   └── home/                 # ホーム画面の UI 実装
└── build-logic/             # ビルドロジック(Convention Plugins)

各モジュールの役割

  • app: アプリケーションのエントリポイント。各機能モジュールを統合します。
  • core:designsystem: アプリ全体で使用するテーマや UI コンポーネントを提供します。
  • feature:home: 火星の不動産情報を表示するホーム画面の UI を実装します。ViewModel や状態管理は kmp-sample-library から提供されます。

セットアップ

前提条件

  • JDK 17 以上
  • Android Studio Ladybug | 2024.2.1 以上
  • Android SDK (compileSdk 36, minSdk 30)

GitHub Packages の設定

本プロジェクトは GitHub Packages から kmp-sample-library を取得します。以下の設定が必要です。

  1. GitHub Personal Access Token を作成(read:packages 権限が必要)
  2. local.properties に以下を追加:
gpr.user=YOUR_GITHUB_USERNAME
gpr.token=YOUR_GITHUB_TOKEN

ビルド手順

# リポジトリのクローン
git clone https://github.com/kei-1111/kmp-sample-android.git
cd kmp-sample-android

# ビルド
./gradlew build

# アプリの実行
./gradlew :app:installDebug

関連リポジトリ

  • kmp-sample-library - ビジネスロジックと状態管理を提供する Kotlin Multiplatform ライブラリ

About

kmp-sample-libraryを使用するAndroidアプリリポジトリ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages