Skip to content

amekusa03/LocTime

Repository files navigation

LocTime

あらかじめ設定した場所と時間で、その場所にいるかどうかを判定し通知を表示するAndroidアプリです。 「出勤時間の1分前には職場にいたい」といった、場所と時間に紐づく行動をサポートします。

機能

  • 場所の登録: 最大10件まで登録可能。
  • 時刻設定: 1つの場所につき最大10件まで設定可能。
  • 通知メッセージ: 時刻ごとに異なるテキストを設定可能。
  • オフセット機能: 場所ごとに判定タイミングを調整(-30分〜+30分)。
    • 例:職場に「-1分」設定で、本来の時刻の1分前に判定を実行。
  • リアルタイム判定: 一覧画面で現在地と登録場所の距離や「範囲内/外」を視覚的に表示。
  • 自動復元: 端末再起動後も設定したアラームを自動的に再登録。

場所の設定方法

方法 説明
住所検索 住所を入力して検索(Geocoder を使用)
現在地取得 GPSを使用して現在地の緯度・経度を自動入力
手動入力 緯度・経度、判定半径(m)を直接入力

動作フロー

  1. 設定された「時刻 + オフセット時間」になると、バックグラウンドでアラームが発火します。
  2. その瞬間にGPS位置情報を取得し、登録済みの場所の範囲内(半径Nm)にいるか判定します。
  3. 範囲内にいる場合のみ、指定されたメッセージで通知を表示します。
  4. 常時GPSを監視しない(時刻ベースの起動)ため、バッテリー消費を最小限に抑えられます。

※ 正確な動作のため、位置情報権限は「常に許可」、バッテリー設定は「制限なし」を推奨します。

技術構成

項目 内容
対象OS Android 8.0 (API 26) 以上
言語 Kotlin
アーキテクチャ MVVM (ViewModel + Repository)
UI Jetpack Compose / Material3
データベース Room
位置情報 FusedLocationProviderClient (Google Play Services)
非同期処理 Coroutines / Flow
ナビゲーション Navigation Compose

ライセンス

MIT License

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages