約 949,248 件
https://w.atwiki.jp/api_programming/pages/212.html
下位ページ Content Garmin Connect IQ 開発にむけての準備環境 Plug-inの導入(Eclipse) SDKの入手 Plug-inの導入(Eclipseの設定) 新しいプロジェクトを創る サンプルプロジェクト プロジェクトの実行 シミュレータシミュレーション時に、実際のデータを使う 実機で実行する Garmin Developer Programmer's Guide APIプログラミングではないが、自分の忘備録 Garminのデバイス用 Garmin Connect IQ http //developer.garmin.com/connect-iq/overview/ 開発にむけての準備 環境 The Connect IQ Eclipse plug-in で Eclipse に Monkey C 開発環境を構築できる。 Syntax highlighting editor Build integration シミュレータの統合実行環境 Eclipseの準備 Eclipse Luna(以降、たぶん) Java Developers Standard Edition か IDE (32 or 64 bit) Plug-inの導入(Eclipse) Eclipseのインストール後、プラグイン導入は以下の手順で。 トップメニュー ヘルプ 新規ソフトウェアのインストール 追加ボタンで以下を追加http //developer.garmin.com/downloads/connect-iq/eclipse/ リストのConnect IQにチェックを付け、「次へ」 内容確認とか、ライセンスの内容確認とか。「署名なしのコンテンツ...」とか出てくるが、嫌とは言えない。。。 プラグインモジュールが必要と出るかも(と説明書きにはあったが、出なかった。あとで要る。) Eclipseを再起動(自動的になった) ツールバーに Connect IQ が出るようになった。 SDKの入手 http //developer.garmin.com/connect-iq/sdk/ Connect IQ SDK Manager で、SDKをダウンロード。 ここで保管先を決めておけば、勝手にパスが追加されるのか? Plug-inの導入(Eclipseの設定) ウィンドウ 設定 (Windowsの場合) 左のリストにConnectIQがあるので選択して、ConnectIQ SDKのフォルダパスを設定。選択するのはルートフォルダであって、サブフォルダではない(バイナリ(bin))ことに注意。 Connect IQ のパースペクティブを加えるウィンドウ パースペクティブを開く その他 Connect IQを選択 新しいプロジェクトを創る ↓ここの和訳しながらメモ作成 http //developer.garmin.com/connect-iq/getting-started/ ファイル 新規 プロジェクト Connect IQ Project を選択(Connect IQ パースペクティブを開いていれば、自動的に表示されている?)し、「次へ」 プロジェクト名を入力して、「次へ」 作成するプロジェクトのタイプ、デバイスを選択する。Application Watch Face Data Field Widget DataFieldの場合?SimpleとComplexがある。とりあえずSimpleで。ComplexだとSDKバージョン 1.2.0以上が必要(本日の時点で1.2.4ですが。) 対応言語を選択 自動的に以下のフォルダ・ファイルが出来上がるsource project_name_View.mc project_name_App.mc resources The resource.xml is the input to the resource compiler. 画像、フォント、文字列などを列挙する。drawable layout(Watch Face) strings A manifest.xml file アプリケーションID、アプリケーションタイプ、ターゲット(デバイスの種類)などの情報 サンプルプロジェクト ファイル インポート 一般 - 既存プロジェクトをワークスペースへ ルート・ディレクトリの選択で、サンプルフォルダを設定SDKのフォルダにあるsampleを選ぶ プロジェクトの実行 最初の一回、実行設定をする必要あり。 ウィンドウ 設定 Connect IQ コンパイラ Developer Key を生成する 実行 実行設定 左のリスト上にあるConnect IQ App上で、右クリックし、「新規」 設定名前:構成の名前 プロジェクトの選択:どのプロジェクトに対して、設定するのか? プロジェクトタイプ:(プロジェクト名で勝手に選ばれる) Choose a Target Device シミュレータ Eclipseで実行すると、自動でシミュレータが立ち上がる気がするが、、、 Connect IQ Start Simulatorもしくは ツールバーのstart simulatorアイコンをクリック シミュレーション時に、実際のデータを使う fitデータの取得 GarminConnectでアクティビティを表示させる 設定アイコン→オリジナルをダウンロード 実機で実行する Eclipse のプラグインでは以下のとおり。 Connect IQ メニュー → Build Project for Device プロジェクトと走らせたいデバイスを選択 出力フォルダを指定 Build ボタンを押して、実行 .prgファイルが出来上がる。 デバイスをPCに接続 出来上がった.prgファイルをデバイスの GARMIN/APPS フォルダに入れる 実行したいデバイスを選択できない場合は、プロジェクトに対して、そのデバイスを有効にしていない場合が考えられる。 ターゲットの追加は プロジェクトエクスプローラーの対象プロジェクト上で右クリック→プロパティ 要求するプラっとフォークにチェックを入れる
https://w.atwiki.jp/api_programming/pages/60.html
Toodledo 下位ページ API Content 使い方のまとめ記事 e-mail登録時の記法 ステータス 使い方のまとめ記事 Toodledoの使い方の記事まとめ - シゴタノ! e-mail登録時の記法 http //www.toodledo.com/info/help_email.php 記号 内容 書き方 デフォルト値 記入例 ! 優先度(Priority) !の数で優先度を表す 0 !! # 期限(Due-Date) #のあとに期限を記入 (なし) "#today","#Next thursday","#5/12/08". = Due Time To set the due time for a task, use the = symbol followed by the time. "=3 45pm" ^ Start Time To set the start time for a task, use the ^ symbol followed by the time. ^3 45pm 開始日(Start Date) のあとに開始日を書く " tomorrow". * スター(Star) To star a task use the * symbol by itself. "My Task *". * フォルダ(Folder) フォルダ名の前に*をつける (フォルダ無し) "*フォルダA" @ コンテクスト(Context) コンテスクトの前に@を付ける。@はToodledo上のシンボルで、"@home"というコンテクストなら、"@@home"と登録する。 (コンテクスト無し) @home + 目標(Goal) +のあとに目標を記入 For example "+Exercise More" $ Status To set the status use the $ symbol and then the status. For example "$Next Action" % Tag To set the tag use the % symbol followed by the tag or tags that you want to add. For example "%tag1, tag2" ~ Length To set the length that you think a task will take, use the ~ symbol followed by the length. 4hours Repeat To set how a task repeats, use the symbol followed by how you want it to repeat. For example " Every Week". Here is a list of phrases that work. Reminder To set a reminder, use the symbol followed by the lead-time. For example " 5 hours" - Location To set a location, use the - symbol followed by the location name. For example "-home" Note The body of the email will become the note of the task. You can prevent email signatures or other parts of the email from becoming part of the note by typing -end- where you want the note to end. File Attachments Any attachments in the email will be attached to the task on Toodledo ( Gold Subscribers only ) ステータス 使用できるステータスは、以下の8種類 None Active Next Action Planning Delegated Waiting Hold Someday Postponed Cancelled Reference これらをGTDの流れに当てはめると 収集 机の上に散らばったものを一箇所にまとめる - None(まだ未処理) 処理 集めたものを引き出しに分類していくそれは何か? それはやる必要があるか?NO → いつかやるのか、それともやらないのか?いつかやる Someday やらない資料 Reference ゴミ箱 Cancelled YES 次へ 次にとるべきアクションは1つか?NO → プロジェクト Planning YES 次へ そのアクションが1つの場合、二分以内にできるか?YES すぐにやる 分類する前に、やる NO 次へ 自分がやるのがベストか?NO 連絡待ち Delegated YES 次へ 特定の日付にやるべきか? それとも次にできた空き時間のときに片付けるべきか?特定の日付 カレンダー Active 空いた時間 次にとるべきアクション Next Action 整理 引き出しの中を見やすくする レビュー 今やるべき作業を机の上に持ってくる 実行 実行あるのみ!
https://w.atwiki.jp/api_programming/pages/87.html
下位ページ Browser Action Permissions Content 情報 種類 準備ファイル manifest.json必須項目 推奨項目 動作によって必要 ポップアップページページの指定 ページの幅 注意事項 作成した拡張機能を読み込む ページの内容を変える場合の処理 タブに対する処理 tab 既に自分のブラウザにインストールしている、誰かのChrome拡張機能のソースを参考にする 情報 https //developer.chrome.com/extensions チュートリアル的なもの Google Chrome拡張機能入門 - ドットインストール 独自のブラウザー拡張機能を作成する 第 1 回、Chrome を拡張する 種類 BrowserActionブラウザの右上に常駐して、アクションを起こす chrome.browserAction PageAction特定のページに行くと、起動される Context Script特定のページで自動実行される Context Menu右クリックで現れる 準備ファイル icon 19px×19px manifest.json 作成した拡張機能のロード方法について Chrome が認識する必要のある情報は、このファイルに格納される。(ex 拡張機能のタイトル、説明、必要な権限、アイコン参照などの情報)Manifest File Format - chrome その他、表示させるもの、動作を記述するもの(必要に応じ)UIページ 背景ページ コンテンツスクリプト manifest.json 必須項目 manifest_version name 拡張機能の名称 version" "0.1", 推奨項目 description 拡張機能の説明 動作によって必要 permissions ブラウザからの情報を読み出す際に、その許可を得るために記述する。http //www54.atwiki.jp/api_programming/pages/90.html ポップアップページ ページの指定 manifest.jsonに書くか、chrome.browserAction.setPopup(object details)で指定。 ページの幅 body要素にstyle="min-width 250px"の用に指定 注意事項 For the best visual impact, follow these guidelines いろんなページで使える機能をbrowswer actionとして提供する特定のページしか使えないなら、browswer actionで提供する意味が薄い 使いやすいアイコンを38x38pxで作っておく。Browser action icons should seem a little bigger and heavier than page action icons.Chromeのメニューアイコンに似せない。 アルファ透過を使って、アイコンにソフトエッジを加えると、テーマを使っているユーザもいい感じに見える。 アニメはうざいだけ 作成した拡張機能を読み込む 拡張機能のページを開く デベロッパーモードにする 「パッケージ化されていない拡張機能を読み込む」 ページの内容を変える場合の処理 permissions で変更の許可を与える必要あり。 "permissions" [...] Declare Permissions - chrome タブに対する処理 https //developer.chrome.com/extensions/tabs tab https //developer.chrome.com/extensions/tabs sendMessage で メッセージを送る integer tabId タブのID。Tabオブジェクトがあれば、Tab.idで拾える。 any message 送るメッセージ object (optional) options integer (optional) frameId / Send a message to a specific frame identified by frameId instead of all frames in the tab. |function|(optional) responseCallbackIf you specify the responseCallback parameter, it should be a function that looks like this / function(any response) {...}; anyresponse The JSON response object sent by the handler of the message. If an error occurs while connecting to the specified tab, the callback will be called with no arguments and runtime.lastError will be set to the error message. https //developer.chrome.com/extensions/tabs#method-sendMessage 既に自分のブラウザにインストールしている、誰かのChrome拡張機能のソースを参考にする IDを控えるメニュー(横3本線のアイコン)→設定→拡張機能で、参考にしたい機能のID C \Users\(自分のフォルダ)\AppData\Local\Google\Chrome\User Data\Default\Extensions\(拡張機能ID)\(Version) http //hwada.hatenablog.com/entry/20110616/1308204203
https://w.atwiki.jp/api_programming/pages/100.html
下位ページ Content ボタン(button)変更を反映させる ボタンを並べる ボタンを使用不可にする際の注意 ラジオボタン(radio)見た目を変える(横に並べたバーに) リフレッシュする セレクトメニュー(select)リフレッシュする 関連項目HTMLでフォームをつくる jQueryでフォームを処理する ボタン(button) Button Widget - jQuery Mobile 見た目がボタンになるものは input type="button" ... button ... ... /button a href="..." ... ... /a があるが、ver.1.4.5の記述に従えば、 input type="button" value="..." / で指定する。 変更を反映させる ボタンに変更を加えても、見た目が反映されない場合がある。そのばあいは .button("refresh") を実行する http //api.jquerymobile.com/button/#method-refresh ボタンを並べる !--5列のグリッド-- div class="ui-grid-d" div class="ui-block-a" button class="ui-btn ui-corner-all" Aブロック /button /div div class="ui-block-b" button class="ui-btn ui-corner-all" Bブロック /button /div div class="ui-block-c" button class="ui-btn ui-corner-all" Cブロック /button /div div class="ui-block-d" button class="ui-btn ui-corner-all" Dブロック /button /div div class="ui-block-e" button class="ui-btn ui-corner-all" Eブロック /button /div /div ボタンを使用不可にする際の注意 他のサイトで .prop("disabled",true) とする方法が載っているが、ver.1.4.5では使えなさそう。 input要素で作ったボタンは.button("disable")で操作できるが、jQuery Mobileでは「表示」に反映されないので、.button("refresh")まで行う必要がある。つまり、実質は .button("disable").button("refresh") を実行する。 ラジオボタン(radio) Checkboxradio Widget - jQuery Mobile 見た目を変える(横に並べたバーに) fieldsetで囲む fieldsetに以下の属性を付けるdata-role controlgroup data-type horizontal → 横に並ぶ (data-typeを)指定しない → 縦に並ぶ fieldset data-role="controlgroup" data-type="horizontal" input type="radio" .../ label ... /label input type="radio" .../ label ... /label /fieldset リフレッシュする JavaScriptで設定を変えたあとはリフレッシュが必要 .checkboxradio("refresh") $("[name=area]").val("0").checkboxradio("refresh") セレクトメニュー(select) Selectmenu Widget - jQuery Mobile リフレッシュする JavaScriptで設定を変えたあとはリフレッシュが必要 $("[name=area]").val("0").selectmenu("refresh") 関連項目 HTMLでフォームをつくる HTML・CSS/フォーム(Form) jQueryでフォームを処理する Javascript/jQuery/フォーム(Form)
https://w.atwiki.jp/otya128/pages/65.html
@WINMENU メニューを表示するサブルーチン 引数 WINM$[10] 表示する文字 WINMK 選択されているかのフラグ ref WINMKS 選択された項目 ref WINMMAX WINM$[]の長さ WINMX 表示する座標(WFXからの座標) WINMY 表示する座標(WFYからの座標) WINMX2 終点座標 戻り値 WINM 選択された項目 サンプル LIST @WIN_MENU参照
https://w.atwiki.jp/windsynth/pages/86.html
Windows Audio Session API (WASAPI) 同様の物にはASIOや、MacOSのCore Audioがある。 2008-11-06 つれづれ。 | WASAPIについて、覚え書き。 WASAPI (英語、開発者向け) About WASAPI (Windows) (英語、開発者向け)
https://w.atwiki.jp/sevenlives/pages/2389.html
オブジェクト・ストア? HTML5
https://w.atwiki.jp/api_programming/pages/167.html
http //developer.garmin.com/connect-iq/programmers-guide/dynamic-data-fields/ Contents Datafield and SimpleDataField Activity InfoSimulating a Workout ダイナミックデータフィールド (Dynamic Data Fields) を用いると、デベロッパがデータフィールドに書き込むことができる。目的は、ユーザにワークアウトデータから簡単に新たなデータフィールドを提供するだけでなく、表現のカスタマイズをも提供するシステムを作ることである。 Datafield and SimpleDataField データフィールドの基本クラスとなるのは WatchUi.DataField である。 このクラスはビュークラスの拡張クラスであり、他の WatchUi ビューと多くの面で同じように振る舞う。onUpdate() が、画面のアップデートが必要なタイミングで呼び出される。 Garmin アクティビティにおいて、ユーザーはページレイアウトを制御できる。特に一つのページにいくつ表示させるか、という点である。Connect IQ data field は全てのレイアウトを扱えなければならない。開発者はシミュレータを用いて、各デバイス、レイアウトでどのように表示されるかテストできる。 多くの開発者は、単一の値を表示させればよく、複雑な描画を扱う必要は無いと考えている。このような場合、シンプルデータフィールド (SimpleDataField) を用いる。シンプルデータフィールドは複数のサイズのフィールドでの描画を扱い、開発者は compute() の継承のみを行えばよい。compute() には Activity.Info の情報が渡されている。 例:“Beers Earned" データフィールド(ワークアウトでどれくらいの「ビール」のカロリーを稼いだか) using Toybox.Application; using Toybox.WatchUi; class BeerView extends WatchUi.SimpleField { function initialize() { units = "beers"; } function compute(info) { return info.calories / 150; // Calories in average bottle of beer } } class BeersEarned extends Application.AppBase { function getInitialView() { return new BeerView(); } } Activity Info The compute() method will be called before update in a data field. This method allows the developer to run a computation based on the workout information. The workout information is passed in as a Toybox.Activity.Info object. This object contains all the info about the workout that is computed by the system module Activity The following is the API for the data fields // DataField クラスはデータフィールドを生成するために用いられる。 // 開発者は毎秒コールされる compute() を実装する。 // システムはフィールドが表示されているとき、 View クラスの onUpdate() を呼び出す。 class DataField extends View { // To retrieve Activity.Info data for DataFields, it is necessary to override compute(). // This is the method that is called to update the field information. // @param [Activity.Info] info The updated Activity.Info object function compute( info ); } // The SimpleDataField class is used for creating simple data fields. // In a SimpleDataField, the developer is only required to implement a compute // method. The compute method is passed an Activity.Info object, which contains // all current workout information. The compute method should return a value to // be displayed. Allowed types are Number, Float, Long, Double, and String. // The SimpleDataField also contains a variable "label". This variable should // be assigned to a String label for the field. class SimpleDataField extends DataField { //! Constructor function initialize(); //! To retrieve Activity.Info data for DataFields, it is necessary to override compute(). //! This is the method that is called to update the field information. //! @param [Activity.Info] info The updated Activity.Info object function compute( info ); } Simulating a Workout To test your data field in the simulator, feed your data field simulated databy clicking the Simulation menu, choose FIT Data and then Simulate. This will generate random but valid data. You can also use Simulation FIT Data Playback File… to simulate a workout by using a pre-recorded FIT file.
https://w.atwiki.jp/suffix/pages/256.html
GoogleMapのジオコーディングをやるには 1.APIを使用する方法 2.GClientGeocoder関数を利用する方法 がある。 Geocoding用参考URL
https://w.atwiki.jp/otya128/pages/81.html
COMPRT$ 文字列を標準出力に表示 GOSUB COMPRT$で呼び出す COMP$ 表示する文字列 SAMPLE @COM_COMPRT COMP$="HELLO" GOSUB COMPRT$ RETURN