旅に出たり、走ったり、旅に出て走ったり

走った記録や旅行記、旅ランの記録などを書いています。Garminなどのランガジェットの紹介もします。

【ConnectIQプログラミング4】Widgetプロジェクト新規構築とMonkeyC

ConnectIQでのプログラミング。開発環境が構築できて、サンプルプログラムのインストールまでできたので、いよいよWidgetプログラミングを始めたいと思います。 

前回はこちら。

genmaigenmai.hatenablog.com

 

 

1 プロジェクトの新規構築

Eclipseのファイルメニューから新規-Connect IQ projectを選びます。

すると、ダイアログが表示されるので、プロジェクト名を登録します。インポートしたサンプルプログラムの山に埋もれないように、個性的なプロジェクト名がいいと思います。

f:id:Genmai_17:20200329134308p:plain

次はプロジェクトタイプ。今回はWidgetを選びます。AppVersionは適当に。SDKバージョンは2.4くらいがサポート範囲が広くて自由度も高いので登録します。まあ適当に。

f:id:Genmai_17:20200329134336p:plain

Widgetのタイプ選択です。Simpleしか無いのでこれを選びます。

f:id:Genmai_17:20200329134432p:plain

バイスのサポートを選びます。持っているForeAthlete945にチェックを入れて、完了を押します。複数持っている場合、サポート機種を増やす場合には、いくつか選ぶこともできます。

f:id:Genmai_17:20200329134526p:plain

これで、新しいプロジェクトができました。左側のプロジェクトエクスプローラに表示されます。

ソースコードは2本表示されてます。AppがWidgetのアプリ本体。Viewが表示用のソースになります。

f:id:Genmai_17:20200329134938p:plain

というわけで、試しにコンパイルしてそのままシミュレータで動かしてみます。MonkeyCのお猿さんが表示されます。ちなみに何をしても動きません。コード書いてないですからね。

f:id:Genmai_17:20200329134720p:plain

2 コンソールに出力してみる

新しいプロジェクトの表示用のクラス。[プロジェクト名]App.mcを見ると、4つのメソッドが実装されています。

おきまりのHelloWorldを出してみましょう。

using Toybox.System as Sys;

これを頭に入れておきます。これで、Toybox.SystemをSysで代用できます。Javaの#includeと似たようなものですね。もちろん、フルパスを書いてもいいんです。

    function initialize() {

 

        //ここにコンソールに表示する一文を挿入。

        Sys.println("Hello MonkeyC World");

       AppBase.initialize();

    }

さて、実行してみます。実行前にソースを保存するのを忘れないようにします。保存してから、バックグラウンドでビルドが行われて反映されます。

おー動いた動いた。

3 文法

MonkeyCは、Javaと同じようにCの派生言語ということもあって、Javaと似ています。文法はほとんど同じ。予約語はちょっと違ってはいますが、特に違和感なく使えます。Objective-Cよりとっつきやすい。JavaとかC++とかObjective-Cなんかを使ったことがあれば、すぐに慣れると思います。

で、Javaとかと違うのが、これ。

        var obscurityFlags;

変数宣言時に型宣言が不要というところです。ここだけはJavaScriptっぽいです。最初に代入した時に型が決まるみたいです。また、Java風に言うと、プリミティブ型の変数は無くて、全てオブジェクト型の変数だそうです。

まあ、詳しくはこちら。私は英文を読み込む元気はないので、Google翻訳でみてます。

developer.garmin.com

まだまだ続きます。

genmaigenmai.hatenablog.com

 

にほんブログ村 その他スポーツブログ マラソンへ
にほんブログ村