さて、前回からの続きです。
最終的にはWebhooksでIFTTTに情報を送るWidgetを作りたいのですが、その時には、ボタン操作を受け付けたり、通信をしないといけないので、ちょっと難しそう。なので、その前にお試しとして、SimpleDataFieldを作ってみることにします。
プロジェクトの新規構築でConnectIQプロジェクトからスタート。
プロジェクトタイプをデータフィールドにします。バージョンとSDKバージョンはここでは何でも構いません。
プロジェクトテンプレートでは、SimpleとComplexの2つから選べるので、今回はSimpleを選びます。
今回使うのはForeAthlete945なので選択します。
日本語サポートしておきます。
そうするとソースコードはAppとViewの2種類。今回はデータフィールドを作るので、Appのソースは制御用なので触る必要はありません。データフィールドを表示する役割のViewのソースコードのみ変更します。
これが初期状態のソース。initialize()でラベルをセットして、compute()で呼び元から渡されたinfo(Activity.info)から値を取り出して、returnしてやるとそれが表示されるようですね。
初期状態では"My Label"というラベルと0.0という値が表示されるようです。このままじゃ何の役にも立たないソースです。
これをその時の心拍数(currentHeartRate)を表示するように変更してみます。
initialize()でラベルを"Heart Rate"にして、compute(info)のreturnで心拍数を返却する"currentHeartRate"を返却するよう変更します。変更後はこんな感じになります。
さあ、シミュレーターでこのプログラムを動かしてみましょう。
実行メニューから実行構成を選んで、今回構築したプロジェクトを選択。稼働させる時計を選んで適用を押して実行を押します。そうするとシミュレータが起動します。
なぜかこちらの環境では、シミュレータ上のForeAthlete945が稼働しないという問題が出たので、Vivoactive3バージョンで表示させます。このままだとあまり使い道はありません。もともとの設定にありますからね。まあ、こんな感じでソースコードを組んでいくことがわかりました。
まだまだ序盤戦。続きます。次はいよいよWidgetのプロジェクトを新規構築してみたいと思います。