アプリ(Flutter) 【ESP32】Wi-Fi接続を直接入力ではなく、候補リストから選べるようにする。 現状のミーアはESP32とアプリの接続を、まずはBluetoothで接続した後に、Wi-Fi の接続をアプリから BLE 経由で行っている。ただ、Wi-Fi接続のSSIDとパスワードを直書きする仕様になっていて、これだと、ユーザーからするととても面倒なため、接続可能なWi-Fiを探索して選べる形式に変更したい。 2024.01.28 2024.07.01 アプリ(Flutter)組み込み(C++ / ESP32)開発・デザイン
アプリ(Flutter) 【ESP32 × Flutter】Wi-Fiのセキュリティと信号強度に応じたアイコン表示とESP32接続 Wi-Fiの信号強度(RSSI:Received Signal Strength Indicator)とセキュリティ情報は、ESP32でWi-Fiネットワークをスキャンする際に取得できる。ESP32のWi-Fi暗号化方式の番号は、通常は整数(int型)で扱われる。 2024.01.30 2024.07.01 アプリ(Flutter)組み込み(C++ / ESP32)開発・デザイン
アプリ(Flutter) 【Flutter】AppleのHealthKit APIからユーザーの行動ログを取得する方法:環境設定編 HealthKitを使用する前に、アプリの HealthKit 機能を有効にする必要がある。Xcode でプロジェクトを選択し、HealthKit 機能を追加する。flutterのhealthパッケージを使ってHealthKitへのデータアクセス許可を実装。 2024.02.18 2024.07.01 アプリ(Flutter)開発・デザイン
アプリ(Flutter) 【Flutter】Apple HealthKit API から行動ログを取得し、Gemini APIを元にアドバイス文を生成:実装編 今回は、Flutterアプリからサーバーにヘルスデータを送信し、Gemini APIを通じてアドバイスのテキスト(例:昨日はよく眠れたみたいですね。この調子!)を生成する部分を実装したい。1日の総歩数と総運動時間を出力するように計算ロジックを追加。 2024.02.23 2024.07.01 アプリ(Flutter)開発・デザイン
アプリ(Flutter) 【AppleHealth Kit】連携状態の取得がiOSのプライバシーの観点からややこしすぎた iOS では、Apple のプライバシーポリシーにより、HealthKit はアプリが読み取りアクセス権を持っているかどうかをアプリ自体に知らせない(外部に開示しない)。ユーザーのプライバシーを保護するための措置だが、開発者はこのメソッドを信頼してユーザーの許可状態を確認することができないという制約がある。 2024.02.25 2024.07.01 アプリ(Flutter)開発・デザイン
アプリ(Flutter) 【Flutter】flutter_background_serviceパッケージで、アプリからサーバに定期POST実行。 前回までの実装だと、ユーザーが「連携開始する」ボタンを押すたびに、健康データをサーバー側にPOSTリクエスト送る仕様になっているので、Flutterアプリで毎日特定の時間にバックグラウンドで定期的にPOSTリクエストを実行する方法に変更したい。flutter_background_serviceパッケージを利用する。 2024.03.07 2024.07.01 アプリ(Flutter)開発・デザイン
アプリ(Flutter) 【Flutter】WebViewでモーダル表示してスクロール可能にする方法 アプリ内にユーザーの設定画面があり、その中に、利用規約・プラポリの項目を用意しているので、この項目をタップした時にWebViewで各内容が表示され、閉じることもできるようにする。今回はシンプルな実装で事足りるので、webview_flutterを導入する。 2024.03.20 2024.07.01 アプリ(Flutter)開発・デザイン
アプリ(Flutter) 【Flutter】状態管理:StatefulWidget + setStateからproviderへ移行とメリット Flutterでは、StatefulWidgetを使用して内部状態を持つことができる。また、ProviderやRiverpod、Blocなどのライブラリを使用してアプリケーション全体の状態管理を行う。本記事では、statefulWidget + setStateから、次のステップであるProviderまでをみていく。 2024.04.10 2024.07.01 アプリ(Flutter)開発・デザイン
アプリ(Flutter) 【Flutter】状態管理:providerからRiverpodへの移行と利点 前回はFlutterの状態管理に関して、statefulWidget + setStateからProviderまでを記載した。今回は、ProviderからRiverpodまでを見ていく。Riverpodの導入によりコンテキスト非依存になり、不変性が強化された。 2024.04.11 2024.07.01 アプリ(Flutter)開発・デザイン
アプリ(Flutter) 【Flutter】通知メッセージ表示としてOverlayクラスを導入する overlay_supportという、トーストやアプリ内通知を簡単に作成できるパッケージがあったので、こちらを使用することにする。OverlaySupportEntry.of(context)?.dismiss();は、表示されているオーバーレイウィジェットを削除するメソッド。 2024.04.21 2024.07.01 アプリ(Flutter)開発・デザイン