キーテイクアウト
- `appinfo.json`ファイルを更新して、ペブルアプリの構成ページを有効にして、機能アレイに「構成可能」を追加し、ユーザーがペブルインターフェイス内でロケーションタイプのような設定をカスタマイズできるようにします。 オンラインでホストされているユーザーフレンドリーな設定ページを作成します。これには、ユーザーが好みのロケーションタイプ(スターバックス、ジェラートなど)を指定するフォームが含まれます。このページは、JavaScriptを介してPebbleアプリと通信して、デバイス上の設定をローカルに保存します。
- PebbleKit JavaScriptフレームワーク内のJavaScriptのLocalStorage APIを利用して、ユーザー設定を保存および取得し、ロケーションタイプなどのユーザー設定を覚えるアプリの能力を高めます。 `Pebble-js-app.js`を調整して、ローカルストレージに設定を取得して保存し、アプリが起動時および操作中にユーザーの設定を尊重することを確認して、構成ページから新しい設定を処理します。
- Pebble App( `find_me_anything.c`)のCコードを変更して設定の変更を処理し、特に検索されている場所のタイプの新しいキーに対応し、ユーザーの好みに基づいてディスプレイを動的に更新します。 javaScriptでエラー処理を実装して、外部APIから未定義または欠損データを管理し、アプリが堅牢なままであり、ユーザーフレンドリーな通知またはフォールバックを提供するようにします。
- パワーレンジャーを子供の頃に見て、スーパーヒーローのように感じさせた派手な時計を持っていることを夢見ていた人のために、スマートウォッチは夢が叶います。私は前述のパワーレンジャーの夢想家の一人かもしれません。それを開発者と組み合わせて、私の静脈を埋めるように促し、90年代の子供がいます。 私は最近、JavaScriptを使用したPebble Watch Developmentの基本に関する記事を書きました。要約すると、Foursquare APIを使用して、最寄りのスターバックスが常にどこにあるかをユーザーに伝えるウォッチフェイスを作成しました。これが動作中のように見えたものです:
このチュートリアルをフォローしたい場合は、次のことが必要です。
- Android電話またはPebbleアプリがインストールされて実行されているiPhoneのいずれか。 ペブルウォッチ。
- Foursquare APIのAPI資格情報。
- アプリをモバイルデバイスとPebble Watchに転送するための利用可能なWi-Fiネットワーク。 javascriptの基本的な知識。
- コマンドラインを使用してCコードを実験する意欲。
- 前のチュートリアルを実行したことができ、PebbleKit JavaScriptフレームワークを使用してPebble App開発の基本について知識を持っていることができます。
- オンラインWebホストでは、構成ページになる1つのファイルをオンラインで保存します。 このチュートリアルの完全なコード
- 最後のチュートリアルからこの記事にすべてのコードを投入するのではなく、GitHubで「StarbucksをFind Me Starbucks」のコードを確認するか、前のチュートリアルを読んでください。更新されたアプリのコードは、GitHubの「Find Me Anyshing」でも入手できます。そのため、コードをダウンロードしてフォローしたい場合は、お気軽に! Pebble Appsの世界で構成がどのように機能するか
JavaScript有効設定ページ
新しいSDKを使用すると、PebbleのAndroid/iOSアプリ自体内でアクセスできる構成ページを定義できるようになりました。設定は、ユーザーが時計アプリをインストールしてアレンジする場所と同じ場所にアクセスされます。ユーザーの観点からよりクリーナーで論理的です。
JavaScriptがローカルストレージを有効にした
新しいSDKのJavaScriptは、WebストレージにW3Cの推奨事項も使用しているため、将来の使用のためにアプリ内に設定を保存できます。ユーザーがそのcelsius/fahreinheitの設定を持っているように求めた場合、Webストレージを使用してユーザーの好みを覚えておくことができます。私たちの場合、ユーザーが興味を持っている場所の種類を保存したいと思います。
それがどのように機能するか設定ページは、アプリの設定を切り替えるフォームを含むWeb上の単一ページです。アプリのJavaScriptは、調整された設定がフォームを介してアプリのJavaScriptに送信されるのを待っており、受け取った設定をローカルストレージに保存します。
紛らわしい音?これは、他の人がアクセスできるようにWeb上のどこかで自分の設定ページをホストする必要があることを意味するため、場合によっては理想的なセットアップではありません。 Pebbleは、将来この設定ページをアプリにバンドルする機能を獲得することを計画しているようです。これは、一部のアプリに最適です。現在のセットアップにはメリットが伴います。設定ページだけで何かを再スキンまたは調整したい場合は、設定ページが独立しているため、アプリ自体を更新する必要はありません。
appinfo.jsonを更新します
最初に、アプリケーションで設定ページを有効にするために、「場所」キーワードを介してジオロケーションAPIへのアクセスを定義するために以前に使用した機能アレイに「構成可能」を追加します:また、アプリに「SearchingFor」と呼ばれる1つの追加キーを追加します。これは、「スターバックス」またはユーザーが要求するカスタムタイプの場所になる文字列になります。
<span>"capabilities": ["location", "configurable"]</span>
設定ページの作成
上記のように、<span>"appKeys": { </span> <span>"location": 0, </span> <span>"searchingFor": 1 </span><span>}</span>>ユーザーが検索しているものを変更するフォームを備えたWebページをホストする必要があります。私のものはそう見えます:
あなたが必要とする基本的なhtmlはそうです(私は私のスタイリングとフレームワークに関連するマークアップを削除しました。
設定のキャンセルまたは送信
<span><span><span><label> for<span>="searchingFor"</span>></label></span>Whatcha wanna find?<span><span></span>></span> </span><span><span><span><textarea> cols<span>="40"</span> rows<span>="8"</span> name<span>="searchingFor"</span> id<span>="searchingFor"</span>></textarea></span><span><span></span>></span> </span><span><span><span><button> type<span>="submit"</span> id<span>="b-cancel"</span>></button></span>Cancel<span><span></span>></span> </span><span><span><span><button> type<span>="submit"</span> id<span>="b-submit"</span>></button></span>Submit<span><span></span>></span></span></span></span></span></span>2つのオプションを提供します。キャンセルできます。変更のいずれかが保存されないようにするか、それらの変更をアプリに渡すフォームを送信して保存することができます。
変更をキャンセルするために、document.locationをPebblejs:// closeに設定します。これにより、Pebble JavaScriptコードに空の応答が送信されます。
変更を選択した場合、Textareaから入力を文字列に渡します。以下のsaveoptions()関数は、textareaから値をオブジェクトに入れます。
クリック関数は、オブジェクトを文字列に変換して文字をエンコードしてデータを送信して、document.locationでターゲットにするURLに配置できるようにします(単一のスペースがエンコードされます。変更):
それは、必要な設定をPebble JavaScriptに正常に送信します。
ユーザーがすでに何かを選択した場合はどうなりますか?
ユーザーがすでに設定に変更を行っている場合、代わりにゲラートを見つけるためにアプリにすでにアプリを求めているとしたら、以前の「ジェラート」の設定がテキストフィールドに表示されます。設定。これを行うには、config HTMLページにSearchforと呼ばれるURLの変数を送信します。この例は、url http://www.yourpebbleappsettingpage.com?searchingfor = gelato。
です私はずっと前に見つけた関数を持っています。
<span>"capabilities": ["location", "configurable"]</span>ページの準備ができたら、変数をチェックし、その変数のテキストをテキストフィールドに配置します。変数はデコードされているため、URL文字列で動作するようにフォーマットされた文字がテキストアレアに正しく表示されます。これを行うには、deCodeuri()関数を使用します。それは私たちと他の特殊キャラクターを実際のキャラクターに戻し、表示します:
<span>"appKeys": { </span> <span>"location": 0, </span> <span>"searchingFor": 1 </span><span>}</span>その画面を自由にスタイリングして、きれいにして目を引くようにしてください!構造化してスタイルを整えることができますが、フラットなHTMLページであるため、スタイルを整えることができます。 Pebbleの例の設定ページではjquery Mobileを使用したので、私はそれにこだわって、いくつかのことをしてきてきれいにしました。任意のフロントエンドフレームワークまたはJavaScript検証を使用してください。パワーはあなたのものです!
JavaScriptを調整して設定を受け入れます
Pebbleアプリは、設定を変更したいと考えていることを知っています。私たちのアプリ用の素晴らしい構成ページも、有望に見えます。問題は、私たちのPebbleアプリがこの構成画面をどこで見つけるかわからないことです。この検索をどこで使用したいのかさえわかりません。これは、Pebble-js-app.jsファイルを更新してすべてを接続する場所です。
最初に、JavaScriptに新しい変数が必要になります。 appinfo.jsonファイルのキーを一致させるために検索と呼びましょう(同じと名前を付ける必要はありませんが、一貫性と明確さのために、私はそうしました)。この変数が行う必要があることは、ユーザーが日々のペブルの強化された生活を送っている間、私たちが探している場所の種類よりもユーザーの好みを保存することです。 Pebble AppsのWebストレージ
アプリでユーザーの設定を保存するために、Pebbleが提供するLocalStorage APIにアクセスできます。 Pebbleは、WebストレージのW3C推奨に従うのに十分なほど親切であるため、構文は過去にWebストレージを扱った人にとっては外国人ではないことを願っています。何かをローカルストレージに保存するには、次のように呼びます
それを取得するために:
<span>"capabilities": ["location", "configurable"]</span>
私たちの場合、Pebbleアプリのローカルストレージにデータを検索することをお勧めします。 JavaScript変数を使用してアプリ全体でアクセスしますが、アプリを最初にロードしたり、構成画面から戻ったりするときは、ローカルストレージからこの検索変数を設定します。
JavaScriptが実行された瞬間にローカルストレージを検討します。ローカルストレージ内のデータの検索が見つからない場合は、デフォルトを「スターバックス」に設定します。これは、Pebble-JS-App.jsファイルの開始時にLocalyOptions定義の後にきちんと配置されます。次に、スターバックスの代わりにAJAXリクエストにこの変数を追加します。
<span>"appKeys": { </span> <span>"location": 0, </span> <span>"searchingFor": 1 </span><span>}</span>
これまでのところ、私たちのアプリは以前と同じことをします。スターバックスを見つけてください。ユーザーがアプリの「設定」ボタンを押したときに何をすべきかを知らせる必要があります。これは、showconfigurationイベントリスナーでこれを行います:
<span><span><span><label> for<span>="searchingFor"</span>></label></span>Whatcha wanna find?<span><span></span>></span> </span><span><span><span><textarea> cols<span>="40"</span> rows<span>="8"</span> name<span>="searchingFor"</span> id<span>="searchingFor"</span>></textarea></span><span><span></span>></span> </span><span><span><span><button> type<span>="submit"</span> id<span>="b-cancel"</span>></button></span>Cancel<span><span></span>></span> </span><span><span><span><button> type<span>="submit"</span> id<span>="b-submit"</span>></button></span>Submit<span><span></span>></span></span></span></span></span></span>
それは、それらの設定を入力するためにフォームを使用してユーザーをページに連れて行きます。彼らが新しい設定を送信するとき(上記のように「ジェラート」など)、私たちはPebble-JS-App.jsのJavaScriptを準備し、そのデータを待っていることを望みます。
そうするために、WebViewclosedイベントリスナーを使用します。ここでは、URI文字列(スペースなどのエンコードバージョン)からデコードして、もう一度JSONオブジェクトに解析します。そのJSONオブジェクトから検索値を取得し、もう一度エンコードします。これはJSON文字列から外れています。エンコードの最後のビットは、前述のFoursquare APIコールのURL文字列に配置する準備ができていることです(https://api.foursquare.com/v2/venues/search?client_id= 'clientid'&client_secret = 'clientRetret '&v =' version '&ll =' Latitude '、'経度 '&query ='リクエストの検索):<span>$('#b-cancel').click(function() { </span> <span>document.location = 'pebblejs://close'; </span><span>});</span>
私たちの価値が定義されていないようになった場合(これが起こるかもしれないが、それらはエッジケースであった多くの理由があるようです)、私はそれを「スターバックス」に切り替える最後の手段を持っています。将来これを処理するより良い方法があり、潜在的にエラーがある可能性がありますが、このデモのためにシンプルに保つために、最悪の場合にスターバックスにデフォルトになりました。
検索用のリクエストを理解し、保存する準備ができたら、window.localStorage.setItem()関数を使用してローカルストレージに保存します。このように、次回はアプリを開くときはまだそこにあります。
<span>function saveOptions() { </span> <span>var options = { </span> <span>searchingFor: $('#searchingFor').val() </span> <span>} </span> <span>return options; </span><span>}</span>
新しい設定要求を受信しました。Window.navigator.geolocation.watchposition()を新しい値で再度実行します。これにより、Foursquare APIに対するジオロケーション検索が実行され、新しいリクエストされた設定が設定ウィンドウを閉じる瞬間に設定します。
<span>$('#b-submit').click(function() { </span> <span>var location = 'pebblejs://close#' + encodeURIComponent(JSON.stringify(saveOptions())); </span> <span>document.location = location; </span><span>});</span>
JavaScriptがこの新しい設定を理解していますが、もう少しやるべきことがあります。
cコードへのいくつかの追加
find_me_anything.cファイルはあまり変更する必要はありません。次の追加と変更を行いました。
メッセージバッファのサイズの増加メッセージバッファーのサイズを124バイトに増やしました。これは、ペブルウォッチに持ち込むことができる最大値だと思います。追加のバッファサイズは、潜在的に大きなロケーション名とクエリを送信できるようにしました。新しい設定を使用してデータの長さのバリエーションが大きくなっているので、できるだけ多くの余裕を提供したいと思います!
sync_bufferが定義されたときにファイルの開始時に変更が行われました。
また、メッセージの同期を開くと、init()関数でさらに下に変更されました。アプリに新しいキーを追加
<span>"capabilities": ["location", "configurable"]</span>また、Pebble JavaScriptとCコードの間で渡される新しいキーを追加する必要があります。 Cコードでは、コンベンションに従い、単語を分離するためのアンダースコアで大文字の文字を使用しました。 1ヘクサデシマルの0x1として1を定義します。つまり、Cコードで2番目のキー/値ペアに言及するときにSearch_forを参照できます。
JavaScriptコードへの追加の追加 私が上で行ったことは、未定義として始まる会場と呼ばれる変数を設定することです。 respons.response.venus foursquareから返されるデータを繰り返します。アドレスと都市を含むものを見つけた場合、そのオブジェクトを会場に保存し、応答の残りの部分を検索しなくなりました。 🎜> Pebblekit JavaScriptフレームワークのパワーのおかげで、Pebble Watchの所有者にアプリの使用方法を決定させました。カスタマイズされ、より個人的なものです。また、ローカルストレージも使用しているため、アプリは物事を覚えています。これは以前よりもはるかに価値のあるアプリであり、Pebble WatchでJavaScriptができることの全範囲を使用しています。
週末に狂ったようなコードをするか、電車に乗って何かをコードアップしてください!そのjavaScriptの知識を、あなたが決して考えられなかったものに使用し、その過程でたくさんの楽しみを持っています! さらなるリソース ペブルウォッチのバッテリー寿命を延長する方法はいくつかあります。これらには、受け取った通知の数を減らすこと、シンプルな時計の顔を使用したもの、頻繁に使用しない機能を無効にすることが含まれます。さらに、更新にはバッテリー寿命を改善するための最適化が含まれることが多いため、時計ソフトウェアが最新であることを確認してください。ペブルウォッチは耐水性ですか? 。彼らは、深さ30メートルまでの水に沈むことに耐えることができます。これにより、水泳やシャワーなどのアクティビティに適しています。しかし、それらは深海ダイビングやインパクトのあるウォータースポーツ用に設計されていません。 Pebble Watchでアプリを使用できますか?フィットネストラッカー、ゲーム、生産性ツールなど、Pebble App Storeからダウンロードできる多くのアプリがあります。スマートフォンのPebbleアプリを介して時計にアプリをインストールできます。<span>"appKeys": {
</span> <span>"location": 0,
</span> <span>"searchingFor": 1
</span><span>}</span>
最後に、sync_tuple_changed_callback()関数を更新して、更新された2番目のキー/値ペアを受信したときに応答することがわかっています。それが行われるとき、私たちが行うためにCコードが必要なのは、「最も近いジェラート」または「最寄りのスターバックス」ではなく、「最寄りのジェラート」または新しい設定と言うように時計のラベルを変更することです。
それをすべて整備しているため、構成ウィンドウを使用してアプリの設定を変更できるようになりました。設定を送信すると、Pebbleアプリが更新されると、次のようなカスタマイズされたアプリがあります。
<span><span><span><label> for<span>="searchingFor"</span>></label></span>Whatcha wanna find?<span><span></span>></span>
</span><span><span><span><textarea> cols<span>="40"</span> rows<span>="8"</span> name<span>="searchingFor"</span> id<span>="searchingFor"</span>></textarea></span><span><span></span>></span>
</span><span><span><span><button> type<span>="submit"</span> id<span>="b-cancel"</span>></button></span>Cancel<span><span></span>></span>
</span><span><span><span><button> type<span>="submit"</span> id<span>="b-submit"</span>></button></span>Submit<span><span></span>></span></span></span></span></span></span>
<span>$('#b-cancel').click(function() {
</span> <span>document.location = 'pebblejs://close';
</span><span>});</span>
私たちは今や少しエキサイティングなアプリになりました!
JavaScriptを使用したPebble Watch Development - 「Find Me Starbucks」が生まれた私の以前の記事。私はこのリソースにたくさんのリソースを持っています。
Pebblekit JavaScriptフレームワークの操作 - PebbleチームのJavaScriptフレームワークの使用に関する詳細
ペブルウォッチをiPhoneで使用できますか? iOSデバイス。 Bluetoothを介してPebble WatchをiPhoneに接続し、Pebbleアプリを使用して設定を管理したり、Watch Facesをインストールしたりします。 Pebble Watchを工場出荷時の設定にリセットするには、時計の設定メニューに移動し、「システム」を選択し、「Factory Reset」を選択します。これにより、時計のすべてのデータと設定が消去されます。このアクションを元に戻すことはできません。
Pebble Watchが私のスマートフォンと同期していない場合はどうすればよいですか?スマートフォン、次の手順を試してください。時計とスマートフォンが互いに範囲内にあることを確認してください。 Bluetoothが両方のデバイスで有効になっていることを確認してください。時計とスマートフォンの両方を再起動してみてください。問題が続いている場合は、ペアにしてから、時計とスマートフォンを再ペアリングしてみてください。柔らかい布とマイルド石鹸。極端な温度や過酷な化学物質にさらされないでください。使用していないときは、涼しく乾燥した場所に保管してください。時計ソフトウェアを定期的に更新して、最適に機能し続けることを確認します。
以上が高度なペブルウォッチ構成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

10の楽しいjQueryゲームプラグインして、あなたのウェブサイトをより魅力的にし、ユーザーの粘着性を高めます! Flashは依然としてカジュアルなWebゲームを開発するのに最適なソフトウェアですが、jQueryは驚くべき効果を生み出すこともできます。また、純粋なアクションフラッシュゲームに匹敵するものではありませんが、場合によってはブラウザで予期せぬ楽しみもできます。 jquery tic toeゲーム ゲームプログラミングの「Hello World」には、JQueryバージョンがあります。 ソースコード jQueryクレイジーワードコンポジションゲーム これは空白のゲームであり、単語の文脈を知らないために奇妙な結果を生み出すことができます。 ソースコード jquery鉱山の掃引ゲーム

このチュートリアルでは、jQueryを使用して魅惑的な視差の背景効果を作成する方法を示しています。 見事な視覚的な深さを作成するレイヤー画像を備えたヘッダーバナーを構築します。 更新されたプラグインは、jQuery 1.6.4以降で動作します。 ダウンロードしてください

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

この記事では、JQueryとAjaxを使用して5秒ごとにDivのコンテンツを自動的に更新する方法を示しています。 この例は、RSSフィードからの最新のブログ投稿と、最後の更新タイムスタンプを取得して表示します。 読み込み画像はオプションです

Matter.jsは、JavaScriptで書かれた2D Rigid Body Physics Engineです。このライブラリは、ブラウザで2D物理学を簡単にシミュレートするのに役立ちます。剛体を作成し、質量、面積、密度などの物理的特性を割り当てる機能など、多くの機能を提供します。また、重力摩擦など、さまざまな種類の衝突や力をシミュレートすることもできます。 Matter.jsは、すべての主流ブラウザをサポートしています。さらに、タッチを検出し、応答性が高いため、モバイルデバイスに適しています。これらの機能はすべて、物理ベースの2Dゲームまたはシミュレーションを簡単に作成できるため、エンジンの使用方法を学ぶために時間をかける価値があります。このチュートリアルでは、このライブラリのインストールや使用法を含むこのライブラリの基本を取り上げ、


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

メモ帳++7.3.1
使いやすく無料のコードエディター

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ホットトピック



