Titanium 非公式 BBS がオープンしました。
公式の Titainum 掲示板の公開が遅いので、@masuidrive さんが非公式ながら BBS をオープンしてくださいました。
日本の Titanium Developer のみなさん、Titanium の質問はこっちにすると親切丁寧な回答を期待できるかも!
非公式 Titanium BBS
- Comments: 0
- TrackBacks: 0
Home > Titanium Archive
公式の Titainum 掲示板の公開が遅いので、@masuidrive さんが非公式ながら BBS をオープンしてくださいました。
日本の Titanium Developer のみなさん、Titanium の質問はこっちにすると親切丁寧な回答を期待できるかも!
Titanium で、JSDeferred を使って順次処理するサンプルです。
JSDeferredはJavaScript上の,あらゆる非同期処理を扱うライブラリです。<中略> JSDeferredは,このようなコールバックの入れ子による非同期処理を,オブジェクトの連鎖による表現に変形させてあげることで,半分同期処理のような感覚で書くことができるようにします。
Titanium 1.6.1 で動かない問題は、@Seasons さんがパッチを書いてくださいました。感謝!! パッチが公開されたらリンクします!
@hamasyou どもです^^ 0.4.0を使おうとしたところJSのコンパイルで止まってしまったのでJS初心者ということもあり色々と調べてました^^; ラベル付きブロックが使えない(正しく動作しない)みたいで、repeatの実装のところでJSコンパイルが止まってしまってました。
twitter より
Titanium.include(Titanium.App.appURLToPath("app://lib/jsdeferred.js")); Deferred.define(); var currentLocation = null; (function() { var deferred = new Deferred(); Titanium.Geolocation.addEventListener("location", function(e) { currentLocation = e.coords; deferred.call(); }); return deferred; })(). next(function() { alert(currentLocation); }); alert("ここは必ずしも、alert(currentLocation)の後に呼び出されるとはかぎらない!");
alert(currentLocation) としているところに現在位置を取得した後のコードを記述することで、現在位置を取得して何か処理をするというのを順序を保証して処理することができるようになります。
ただし、next の外側の処理は非同期で進んでしまうため、必ずしも、alert(currentLocation) との順序は保たれません。
Titanium Mobile - appcelerator
Titanium.include(Titanium.App.appURLToPath("app://lib/jsdeferred.js"));
上記の様に、 app: プロトコルを使用して、appURLToPath メソッドでファイルを読み込むことで、Titanium のResources フォルダからの相対パスで書けるようになります。
Titanium は、JavaScript でコードがかけると言っても色々と制約があり、eval() を使うようなライブラリは使用できません。
Titanium.include("TiDOMParser.js") だと実機のほうでエラーが発生するという報告を頂いたので、TiDomParser に変更しました。合わせて、プログラム中の TiDOMParser を TiDomParser に変更しました。ご報告ありがとうございました。
eval() が使えないと書きましたが、使えることが判明しました。。。KitchenSink のサンプルにもありました。。 僕の環境で動かないと思っていたのは、eval("1+1"); と試していたからで、eval() の中はコードになるので正確にはセミコロンが必要で、eval("1+1;"); としないとダメでした。。訂正です。。
XML を JSON にするライブラリに、XML to JSON というライブラリがありますが、内部で eval を使っているため動きません。(中身を書き換えれば動きそうですね。。)
そこで、DOM から JSON に変換する XML.ObjTree というライブラリを元に、Titanium 上で XML を JSON に変換するライブラリを作ってみました。
ライセンスとか気にしたつもりですが、ObjTree のライセンスに引っかかるとかあればご連絡ください。すぐに対応します。
Titanium Module Development のメモその2です。
Titanium Module Development のメモです。
Titanium Mobile は iPhone、Android アプリケーションを JavaScript でコーディングできるクロスプラットフォーム環境です。
Titanium を使っていてハマった点をメモしておきます。
iPhone アプリの開発をしていて一番の難は Objective-C を使わないといけないことだと思う。Objective-C が大好きな人もいるかもしれないけど、僕はあの言語の気持ち悪さ(構文的な意味で)が嫌いです。。
で、どうにかならんもんかと調べてみるとなんと、JavaScript を使って開発することが出来る開発プラットフォームがあるじゃないですか。
というこで早速使ってみましたよ、Titanium Mobile!読み方は、タイタニウム らしいですが、チタニウムのが言いやすいよね。。
Home > Titanium Archive