はじめに
デバイスインターフェースを利用するには、COM.CURL.CAEDE.NATIVE-INTERFACEパッケージが必要になります。(フレームワークの使い方に記載しているCOM.CURL.CAEDEをデリゲートすれば利用可能です)
COM.CURL.CAEDE.NATIVE-INTERFACEパッケージをimportしてください。
{import * from COM.CURL.CAEDE.NATIVE-INTERFACE} |
デバイス情報の取得
get-the-deviceプロシージャを使ってDeviceオブジェクトを取得することで情報を取得できます。
def d = {get-the-device} {output {format “name=%s platform=%s version=%s”, d.name, d.platform, d.version} } |
カメラ
run-cameraプロシージャを使ってデバイスに付属しているカメラを起動します。写真取得後に画像のUrlを取得するために、CameraFinishedEventハンドラ―を登録します。
{run-camera {on e:CameraFinishedEvent do {if not e.canceled? then {output e.media-url.name} } } } |
ローカルストレージ
永続的データとしてデータの保存ができます。
KvsStorage
let conn:StorageConnection = {StorageConnection.open || set (値のセット) || get (値の取得) |
RdbStorage
def con = {StorageConnection.open “testRDBdb”} ||任意の名前 ||(SQLによる) テーブル作成、初期データ作成 ||(SQLによる)データ取得 |
GPS
start-location-notifierを使って、GPSを起動します。GPSで値を取得したらLocationChangedEventが発生します。また、GPSを止める場合は、stop-location-notifierを利用します。
{start-location-notifier {on e:LocationChangedEvent do def loc = e.location || Locationオブジェクト {output {format “lat=%s, lng=%s”, loc.latitude, loc.longitude}} } } |
加速度センサー
start-accelerometer-notifierを使って、加速度センサーを起動します。加速度センサーからの通知があった場合にはAccelerometerEventが発生します。また、加速度センサーを止める場合には、stop-accelerometer-notifierを利用します。
{start-accelerometer-notifier {on e:AccelerometerEvent do {output {format “x=%s y=%s z=%s”, e.x, e.y, e.z}} } } |
ネットワークのオンラインチェック
ネットワークがオンラインかどうかをチェックするには、network-online?プロシージャを利用します。
コンタクト
連絡帳データを取得したり、電話コール、メール送信をことができます。
def c-list = {find-contact-list “AB”} || 前方一致する連絡帳データ取得。 {call-phone “03123456789”} {send-email {StringArray abc@curl.com}, “Test!”, “This is a test.”} |