アプリ(Flutter)

アプリ(Flutter)

【ESP32 × Flutter】Wi-Fiのセキュリティと信号強度に応じたアイコン表示とESP32接続

Wi-Fiの信号強度(RSSI:Received Signal Strength Indicator)とセキュリティ情報は、ESP32でWi-Fiネットワークをスキャンする際に取得できる。ESP32のWi-Fi暗号化方式の番号は、通常は整数(int型)で扱われる。
アプリ(Flutter)

【Flutter】AppleのHealthKit APIからユーザーの行動ログを取得する方法:環境設定編

HealthKitを使用する前に、アプリの HealthKit 機能を有効にする必要がある。Xcode でプロジェクトを選択し、HealthKit 機能を追加する。flutterのhealthパッケージを使ってHealthKitへのデータアクセス許可を実装。
アプリ(Flutter)

【Flutter】Apple HealthKit API から行動ログを取得し、Gemini APIを元にアドバイス文を生成:実装編

今回は、Flutterアプリからサーバーにヘルスデータを送信し、Gemini APIを通じてアドバイスのテキスト(例:昨日はよく眠れたみたいですね。この調子!)を生成する部分を実装したい。1日の総歩数と総運動時間を出力するように計算ロジックを追加。
アプリ(Flutter)

【AppleHealth Kit】連携状態の取得がiOSのプライバシーの観点からややこしすぎた

iOS では、Apple のプライバシーポリシーにより、HealthKit はアプリが読み取りアクセス権を持っているかどうかをアプリ自体に知らせない(外部に開示しない)。ユーザーのプライバシーを保護するための措置だが、開発者はこのメソッドを信頼してユーザーの許可状態を確認することができないという制約がある。
アプリ(Flutter)

【Flutter】flutter_background_serviceパッケージで、アプリからサーバに定期POST実行。

前回までの実装だと、ユーザーが「連携開始する」ボタンを押すたびに、健康データをサーバー側にPOSTリクエスト送る仕様になっているので、Flutterアプリで毎日特定の時間にバックグラウンドで定期的にPOSTリクエストを実行する方法に変更したい。flutter_background_serviceパッケージを利用する。
アプリ(Flutter)

【Flutter】WebViewでモーダル表示してスクロール可能にする方法

アプリ内にユーザーの設定画面があり、その中に、利用規約・プラポリの項目を用意しているので、この項目をタップした時にWebViewで各内容が表示され、閉じることもできるようにする。今回はシンプルな実装で事足りるので、webview_flutterを導入する。
アプリ(Flutter)

【Flutter】状態管理:StatefulWidget + setStateからproviderへ移行とメリット

Flutterでは、StatefulWidgetを使用して内部状態を持つことができる。また、ProviderやRiverpod、Blocなどのライブラリを使用してアプリケーション全体の状態管理を行う。本記事では、statefulWidget + setStateから、次のステップであるProviderまでをみていく。
アプリ(Flutter)

【Flutter】状態管理:providerからRiverpodへの移行と利点

前回はFlutterの状態管理に関して、statefulWidget + setStateからProviderまでを記載した。今回は、ProviderからRiverpodまでを見ていく。Riverpodの導入によりコンテキスト非依存になり、不変性が強化された。
アプリ(Flutter)

【Flutter】通知メッセージ表示としてOverlayクラスを導入する

overlay_supportという、トーストやアプリ内通知を簡単に作成できるパッケージがあったので、こちらを使用することにする。OverlaySupportEntry.of(context)?.dismiss();は、表示されているオーバーレイウィジェットを削除するメソッド。
アプリ(Flutter)

【ESP32 × Flutter】Wi-Fiスキャン結果をBLEでチャンク分割送信する方法

ESP32とFlutter(flutter_blue_plus)を利用してWi-Fiスキャンの結果をBLEを通じてスマートフォンに分割送信する方法を記載。BLEのNotify機能を使用して、大きなデータを小さなパケットに分け、受信したデータを再構成する。