Skip to content

amru195704/runlogger

Repository files navigation

Runlogger (Flutter)

ランニングやサイクリングなどの走行ログを GPS で記録し、地図・グラフで可視化する Flutter アプリです。

以前 Objective-C で作成していた Runlogger を、Flutter / Dart 習得のためテスト的に再実装したサンプルプロジェクトです(元アプリの基本機能のうち一部を実装)。後に SwiftUI 版 も作成し、マルチプラットフォーム対応を比較検証しています。数週間の作業なので、Flutter / Dart のプロから見れば改善点は多々あると思いますが、何かの参考になればと公開しています。

解説ブログ: Flutterで作るランニングロガー(y42u.net)

主な機能

  • 地図画面 — 現在位置をピンで表示。地図の拡大・縮小、衛星画像への切り替え
  • 走行画面 — 走行時間・走行距離・速度・標高をリアルタイム表示
  • グラフ表示 — 速度・標高の変化をグラフで可視化(区間ごとに表示切り替え)
  • ログ保存 — 走行データを CSV ファイルとして保存
地図画面 RUN画面

技術構成

  • フレームワーク: Flutter / Dart
  • 主要パッケージ:

構成

lib/
├── main.dart              エントリポイント
├── map.dart               地図画面
├── run.dart               走行画面(データ・グラフ)
└── model/
    ├── gps.dart           GPS 位置情報の取得
    ├── gpsLogData.dart     走行ログデータ
    └── debugData.dart      デバッグ用データ

開発・ビルド

Mac の VSCode に Flutter 開発環境を追加し、実行デバイスに iPhone シミュレータを指定して実行しています。iOS 以外は未検証ですが、iOS 依存部分はほとんど無いため Android への移植も容易です。

参考リンク:

関連

ライセンス

MIT License。自由に使用してもらって問題ありません。

注意

本プロジェクトはあくまでサンプルです。自由に参照・使用して構いませんが、自己責任でご利用ください。本ソースを使用した結果いかなるトラブルが発生しても、作者は一切の責任を負いません。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages