PhoneGap學習筆記之原理執行實例
PhoneGap學習筆記之原理執行實例是本文要介紹的內容,主要是來了解并學習PhoneGap框架應用中原理的具體案例運行過程,具體內容的實現來看本文詳解。
PhoneGap框架
- https://github.com/phonegap/phonegap-android
Phonegap介紹參考:
Phonegap:快速開發跨平臺HTML5應用的膠水層
- http://mobile.51cto.com/iphone-273446.html
在開發移動應用的過程當中,如果你的應用只定位在一種平臺上,這可不是一個好主意,但是為許多不同的平臺Building應用又是一件非常麻煩和非常不爽的事情,因為你會發現每一種手機平臺都有自己的SDK,它們需要使用不同語言來進行開發,你可能不得不需要5、6個代碼倉庫來管理不同設備上的代碼,而且需要不同設備的開發人員來開發維護這些倉庫,你還不得不裝上各個設備的sdk,設置好路徑和各種配置信息,來編譯不同設備上的應用包。
那么移動網站模式是不是一個可以接受的替代方案呢?幸運的是移動應用和移動網站并不是對立的兩端,通過Phonegap我們可以采用html5的網站形式來開發移動應用。也許開源Phonegap 會成為 WebApp 上設備端開發的事實上標準,ShowMuch本期就為你推薦移動開發利器:PhoneGap。
我們先來看看PhoneGap的特性:
支持6種移動設備平臺:iOS, Android, BlackBerry, WebOS, Symbian WRT, Windows Mobile(內部測試),以及桌面環境(內部測試)
HTML5 + CSS3 + JavaScript 利用標準的Web技術開發應用
- Phonegap Build: write once, compile on cloud, run anywhere.
提供在線Builder平臺:只寫一次,云端編譯,運行在任何地方
目前已經有上千基于Phonegap的應用在AppStore上
Phonegap 目前標注的版本依然是0.9.x,phonegap的功能特性并不穩定,會有不少bug,要小心。
PhoneGap執行流程
1、在Android項目的html頁面上執行 事件 <a href="#" class="btn large" onclick="to_smssend();">Send SMS</a>
2、調用main.js中的to_smssend()方法
- //jimmy add smssend
- function to_smssend(){
- navigator.service.sms.smssend("13510567813","this is test phonegap----jimmyliu");
3、navigator.service.sms.smssend在Phonegap.js中定義javascript對象
- var MessageSend = function(){};
- MessageSend.prototype.smssend = function(phonenumber, message){
- //this.smsWin = callback;
- PhoneGap.exec(null, null, "MessageSend", "send", [phonenumber, message]);
- }
- PhoneGap.addConstructor(function() {
- if(typeof navigator.service == "undefined") navigator.service = new Object();
- if(typeof navigator.service.sms == "undefined") navigator.service.sms = new MessageSend();
- });
4、步驟3的執行 是在 DroddGap的bindServer中添加的
- this.addService("MessageSend", "com.phonegap.MessageSend");//jimmy add
MessageSend服務,該服務實際是個CallbackServer中的定義的ServerSocket 來處理的。
即JS在PhoneGap.exec執行時存儲在List中,然后被ServerSocket的socket中執行js處理
后續再做修改。
小結:PhoneGap學習筆記之原理執行實例的內容介紹完了,希望通過本文的學習能對你有所幫助!