|
モバイル開発環境「Caede」
|
|
作者 Curl
|
|
2011年11月10日(木曜日) 03:00 |
はじめに
デバイスインターフェースを利用するには、COM.CURL.CAEDE.NATIVE-INTERFACEパッケージが必要になります。(フレームワークの使い方に記載しているCOM.CURL.CAEDE.FRAMEWORKをデリゲートすれば利用可能です)
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.board-name, d.version} } |
カメラ
run-cameraプロシージャを使ってデバイスに付属しているカメラを起動します。写真取得後に画像のUrlを取得するために、CameraFinishedEventハンドラ―を登録します。
{run-camera {on e:CameraFinishedEvent do {if not e.canceled? then {output e.photo-url.name} } } } |
ローカルストレージ
永続的データとしてデータの保存ができます。
KvsStorage
|
let conn:StorageConnection = {StorageConnection.open "testdb", || 任意の名前 type = StorageType.kvs } def s = conn.storage asa KvsStorage
|| set (値のセット) set s["key1"] = "val1" || or {s.set "key1", "val1"} set s["key2"] = "val2" || or {s.set "key2", "val2"}
|| get (値の取得) {output s["key2"]} || or {s.get "key2"}
|| find (部分一致検索) {for v key k in {s.find "key"} do {output k, v} || 2件がヒットする }
|
RdbStorage
|
def con = {StorageConnection.open "testRDBdb"} ||任意の名前 def storage = con.storage asa RdbStorage
||(SQLによる) テーブル作成、初期データ作成 {storage.execute-update "DROP TABLE IF EXISTS TEST"} {storage.execute-update "CREATE TABLE TEST (COL1 integer, COL2 text)"} {con.begin} {for i = 0 below 5 do {storage.execute-update "INSERT INTO TEST values(?, ?)", i, "DATA" & i} } {con.commit} || commit
||(SQLによる)データ取得 def rows = {storage.execute-query "SELECT * FROM TEST"} {for r in rows do {output {format "RDB test col1=%s col2=%s", {r.get-int "COL1"}, {r.get-String "COL2"} } } } {storage.execute-update "DROP TABLE IF EXISTS TEST"} {popup-message "Please see the console log."}
|
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"} || 前方一致する連絡帳データ取得。 || あるいは{get-contact-list}で連絡帳データ全件取得 {for c in c-list do {output {format "%s %s", c.id, c.name}} || c.phones, c.emailsプロパティもある。 }
{call-phone "03123456789"}
{send-email {StringArray
このメールアドレスは、スパムロボットから保護されています。アドレスを確認するにはJavaScriptを有効にして下さい
}, "Test!", "This is a test."}
|
|
|
最終更新 ( 2012年3月29日(木曜日) 09:10 )
|