はじめに
flutter勉強中です。
ジョギングアプリを作成してみました。
参考にしたプロジェクトは以下です。
クリーンアーキテクチャなるものがあることを知ったため、真似して書いてみました。
クリーンアーキテクチャを勉強するなら以下のサイトを参考にしてください。
(このジョギングアプリを参考にしないほうが良いです。)
周期的にGPS情報を取得する必要があったため、カウントダウンタイマーのプロジェクトを参考にしました。
完成品

※この例では走っている座標はランダムにプロットしています。
簡単に機能は以下
・「走行距離」は走った累積距離を表示する
・「予測走行距離」を入力することで「完了予定時間」を表示する
この例だと、5km走り終わるのに要する時間を表示している
コード
動かし方
「YOUR KEY HERE」にAPIキーを入力します。
こちらのサイトを参考にしました。
Androidの場合
jogging_app/android/app/src/main/AndroidManifest.xml
android:value="YOUR KEY HERE"/>
IOSの場合
jogging_app/ios/Runner/AppDelegate.swift
GMSServices.provideAPIKey("YOUR KEY HERE")
テストデータで動かす場合
jogging_app/lib/injection_container.dart
import 'package:get_it/get_it.dart';
import 'package:jogging_app/repositories/repository.dart';
import 'package:jogging_app/repositories/repository_impl.dart';
import 'package:jogging_app/repositories/repository_test_data.dart';
final getIt = GetIt.instance;
Future<void> init() async {
//getIt.registerSingleton<Repository>(RepositoryImpl());
//デバッグ用のデータ作成。
//現在位置付近をランダムに走っているデータを生成します。
getIt.registerSingleton<Repository>(RepositoryTestData());
}
コメント