第一個是 deviceready event。

第二個是 PhoneGap 有提供一個 device 的公用變數,可以用來查看目前裝置資訊。

第三個就是建議用 jqmobile。補充資料:Creating Mobile Apps With KnockOutJS, PhoneGap & jQuery Mobile

第四個是如何偵測網路是否暢通,主要就是用 navigator.network.connection.type。例子裡是這樣用:navigator.network.connection.type != Connection.NONE,另外一個例子則有介紹怎麼判斷現在是 3G 還 2G。

第五個是監聽網路狀態,作者提到這個,我還真的愣了一下,JavaScript 既沒有 thread,用 setTimeout 又顯得很笨,所以 PhoneGap 有為 DOM 增加 event listener。一個是 online,一個是 offline,程式大致是這樣:document.addEventListener("online", onOnline, false);

作者在這些範例裡都有特別提到 Blackberry 的限制,這時候真的就只能用 setTimeout 來解了。

第六個主要是講頁面的切換,頁面切換的時候,依照 jqmobile 的方法,就不一定會觸發 deviceready 了,這時候就要利用一些額外的判斷,才能處理。作者是利用一個 currentUrl 的變數來做判斷與處理,要耐心看。

補充:我誤解第六個的意思了,作者是想要共用 js,畢竟 deviceready 每個頁面都要再處理一次,還真的是很麻煩。這個 js 他命名為 common,每個頁面都含括這個 common.js。那麼在 index.html 時,就去觸發 onIndexLoad;在 about.html 時,就觸發 onAboutLoad,才會利用 currentUrl 的判斷來決定要觸發哪個事件。

更多有關 20 Recipes for Programming PhoneGap 的事情

arrow
arrow

    elleryq 發表在 痞客邦 留言(0) 人氣()