Garmin アプリ開発(2) 開発環境

apps.garmin.com

開発環境の準備

アプリ開発にあたり、開発環境を準備します。

本家のサイトからSDKをダウンロードします。

Connect IQ SDK | Garmin Developers

ここにある、

Connect IQ Basics

f:id:mnobori:20211117195334p:plain
connect iq basic

の手順に従って

  1. The Connect IQ SDK Manager
  2. The Monkey C Visual Studio Code Extension
  3. Generating a Developer Key

を実施します

Visual Studio Code Monkey C Extensionを使うために、事前にマイクロソフトのサイトからvscodeもインストールしておきます
Visual Studio Code – コード エディター | Microsoft Azure


SDK Manager使用上の注意は、最新のSDKとして「Beta版を選んではいけない」です。

f:id:mnobori:20211117193736p:plain

↑のキャプチャーでいう 「4.1.0 Beta」 を「Use as SDK」してはいけません。
Beta版ではあとから行う公開用コマンド「Export Project」が「ERROR: App Exporting Not Supported」というエラーで失敗します。

開発言語

開発言語は「Monkey C」という独自言語です。独自とはいえ説明によると
「Monkey Cは、他のポピュラーな言語から大きく影響を受けています。C、Java™、JavaScriptPython™、LuaRubyPHPのすべてが、Monkey Cの設計に影響を与えています。これらの言語に慣れ親しんでいる方なら、Monkey Cは簡単に手に取ることができるでしょう。」
とのことで、普通のオブジェクト指向言語です。
調べながら分かった注意点は↓です。

型について

Monkey Cでは、型は実行時に解決しています。だた、コンパイル時にエラーを検出できるように as 演算子で型を指定することもできます

  1. 関数の戻り値の方を指定 function doSomething() as String {
  2. 変数の型を指定 var globalX as Lang.Number = 0;
  3. 変数の型の候補を指定 var globalX as Lang.Number or Lang.String = 0;

配列の書き方

var array = new [size];
var array = [1, 2, 3, 4, 5];
var array = [ [1,2], [3,4] ];

Dictionaries : 連想配列?の書き方

var dict = { "a" => 1, "b" => 2 }; // Creates a dictionary
System.println( dict["a"] ); // Prints "1"
System.println( dict["b"] ); // Prints "2"
System.println( dict["c"] ); // Prints "null"

文字列整形:formatの書き方

 Lang.format("$1$:$2$", [clockTime.hour.format("%d"), clockTime.min.format("%02d")]);