Skip to content

RabbitProgram/3cs-checker-flutter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3密チェッカーのFlutterリメイク版(iOS対応)

GitHub repo size version Flutter Dart iOS Android


はじめに

3密チェッカーアプリをiOS端末でも使えるようにするため、現在Flutterでプログラムを書き直しています。
3密チェッカーについて:https://rabbitprogram.com/support/threec

iOSではAndroidのようにバックグラウンドでの動作がうまくできず、解決方法が全くわからないため、この度パブリックなリポジトリでソースコードを公開することにしました。
オープンソースだからこそ、皆様のご意見を取り入れながら、チームで開発していきたいと思っています。

参考になりますよう、下にアプリの仕様や原状などを記載しています。
お気づきの点がございましたら、ぜひお気軽に Issue にお寄せください。

些細な助言でも構いません。
皆様のお力添えをお待ちしています🙇‍♂️

現状

フォアグラウンド バックグラウンド タスクキル
Timer.periodic (※1)
⚠️
background_locator (※2)

⚠️
※1:指定時間間隔で処理するタイマー
※2:https://pub.dev/packages/background_locator
タスクを終了してしまうと、AndroidでいうServiceのように処理を続けることができないのが現状です。
バックグラウンドでは処理は呼ばれますが、Bluetoothを使用できず人数の測定ができません。

分からないこと🤷‍♂️

  • バックグラウンドの状態でBluetoothを使うにはどうしたらいいか
    →ios/Runner.xcodeprojファイルのバックグラウンド周りの設定がおかしい?
  • アプリを起動していない状態でどうやって測定したらいいか

テスト方法

Android Studioでリポジトリをクローンした後、まずはじめにpubspec.yamlを開いて「Pub get」ボタンを押してください。
または、次のコマンドを実行します:

flutter pub get

読み込み後、 ▶️ (再生)ボタンを押してアプリをビルドして実行します。
アプリ起動後、設定→「3密チェッカー(テスト)」→位置情報を開き、「常に」を選択してください。
(バックグラウンドテストの際にはこの設定が必要です)

画面について

:現在の3密状態を測定します
:内部的なファイル書き込みテストです。iPhoneのファイルアプリからはアクセスできない場所にテストログを記録します。
:上記の書き込み確認を行います。
:20m移動ごとに記録された位置情報のログを表示します。
:一定間隔(5秒ごと)の定期バックグラウンド測定を開始します。

テストプログラムについて

2種類の測定プログラムを搭載しています。

1:指定時間おきにタイマーで定期処理する

テストプログラムでは、アプリの開始ボタンを押下後、5秒おきに人数の測定を行います。
なお、バックグラウンドに移行した場合はBluetoothが使用できず人数は「0」を返します。

2:一定距離動いたら処理を実行する

テストプログラムでは、アプリの開始ボタンを押下後、20m移動するとログを記録するようにしています。
記録されたログは [バックグラウンド測定履歴を確認] ボタンを押すと確認できます。

注意

ここで公開しているFlutterバージョンは、現在はまだ開発途中の試作品です。
残存する不具合などの保証はありませんので、ご注意ください。

About

3密チェッカーのFlutterリメイク版(iOS対応)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published