地震・災害情報アプリは、リアルタイムで地震や災害に関する情報を提供するAndroidアプリケーションです。重要な災害関連の情報を集約・表示し、ユーザーが緊急事態について常に最新の情報を得られるようにします。
- リアルタイムの災害・地震情報フィード
- 効率的な閲覧のためのページング対応リスト表示
- 外部リンク付き詳細情報ビュー
- マテリアルデザインを採用したユーザーフレンドリーなインターフェース
- Firebaseとの連携によるリアルタイムデータ同期
- アプリ評価機能
- お問い合わせサポート
- 言語: Java
- ビルドシステム: Gradle
- 最小SDK: Android APIレベル(app/build.gradleに記載)
- アーキテクチャ: Android SDK + Firebaseバックエンド
- Firebase:
- Firestore(リアルタイムデータベース)
- Analytics(使用状況の追跡)
- Crashlytics(クラッシュレポート)
- Firebase UI: Firestoreページングアダプター
- AndroidX: AppCompat、RecyclerView、Paging
- ButterKnife: ビューバインディング
- Timber: ログ出力
- AppRate: アプリ内評価ダイアログ
DisasterApp/
├── app/
│ └── src/
│ ├── main/
│ │ └── java/me/cutmail/disasterapp/
│ │ ├── activity/ # UIアクティビティ
│ │ │ ├── MainActivity.java
│ │ │ ├── EntryDetailActivity.java
│ │ │ └── AboutActivity.java
│ │ ├── model/ # データモデル
│ │ │ └── Entry.java
│ │ └── DisasterApplication.java
│ └── androidTest/ # インストルメンテーションテスト
├── fastlane/ # Fastlane設定
├── .ci/ # CI設定
├── build.gradle # ルートビルド設定
└── settings.gradle # Gradle設定
- Android Studio Arctic Fox以降
- JDK 8以上
- Android SDK
- Firebaseプロジェクトの設定
- リポジトリをクローン:
git clone https://github.com/cutmail/DisasterApp.git
cd DisasterApp-
Firebase設定ファイルを追加:
- Firebaseコンソールから
google-services.jsonをダウンロード app/ディレクトリに配置
- Firebaseコンソールから
-
プロジェクトをビルド:
./gradlew build- アプリを実行:
./gradlew installDebugまたは、Android Studioでプロジェクトを開いて直接実行することもできます。
このプロジェクトには自動ビルドとデプロイのためのFastlaneが含まれています:
bundle install
bundle exec fastlane [lane_name]./gradlew test # ユニットテストを実行
./gradlew connectedTest # インストルメンテーションテストを実行このプロジェクトは継続的インテグレーションにGitHub Actionsを使用しています。ビルドステータスはこのREADMEの上部に表示されます。
ワークフローには以下が含まれます:
- Gradleビルド
- ユニットテストの実行
- Lintチェック
- ビルド成果物(APK)のアップロード
ワークフローは.github/workflows/build-and-test.ymlに定義されています。
コントリビューションを歓迎します!お気軽にプルリクエストを提出してください。
- リポジトリをフォーク
- フィーチャーブランチを作成 (
git checkout -b feature/amazing-feature) - 変更をコミット (
git commit -m 'Add some amazing feature') - ブランチにプッシュ (
git push origin feature/amazing-feature) - プルリクエストを作成
お問い合わせやサポートについては、こちらまでご連絡ください: [email protected]
使用条件については、プロジェクトのライセンスファイルをご参照ください。
防災と災害への備えのために ❤️

