Cordova系列(一)

1.安裝

這裏推薦用npm安裝cordova,至於npm的安裝,網上有不少的。打開命令行,輸入html

npm install -g cordova

這裏就安裝了好了最新版的cordova,雖然絕大多數會成功,但預防下不成功的狀況,推薦搜索npm鏡像,利用鏡像安裝。android

cordova是利用ant打包的,因此你必需要安裝ant而且配置安裝環境。apache

若是你想打包android項目,本地須要有一份android的SDK,而且配置好環境變量,固然cordova提供了遠程下載androidSDK的方式(呵呵,我沒用過)。npm

2.使用

1.建立項目

命令行進入工做空間,輸入編程

cordova create hello com.test.hello "Hello"

這裏第一個參數會建立一個項目文件夾,第二個是包名,第三個參數,是項目的名字。如今cordova會生成相應的目錄,如今進入hello裏能夠看到api

這裏說明一下,www這個文件夾存放各個平臺共同所需的文件,模塊化

merges下能夠創建各個平臺的文件夾 如創建android文件夾,能夠再其中存放android平臺所必須的文件,學習

plugins存放的是插件,platforms裏面是各個平臺具體的項目,但如今什麼都沒有,由於咱們還沒添加平臺。網站

2.添加插件

進入hello目錄,輸入命令ui

cordova plugin add org.apache.cordova.battery-status

這裏例子是添加了電池狀態插件,相應的插件你能夠在 這裏 查看。當添加插件成功的時候,你能夠到plugins裏看到相關的文件夾,固然這樣添加插件的方式都是官方插。

cordova plugin ls

這條指令能夠在命令行查看添加的插件

(2014-04-23 14:00:14 儘可能把全部的插件都添加進去吧,由於保不許就要了,rebuild太煩了)

3.添加平臺

輸入命令

cordova platform add android

這裏就添加了android平臺,cordova會尋找www下面的文件,merges下的 android文件夾下的文件,再加上plugins,共同生成android項目。以下圖所示

若是以前你有在www文件夾以及merges文件夾下新建的android文件夾裏添加內容,那麼你在assets的www裏會發現多了相應的文件。

這裏講一下assets裏的www文件夾下的cordova_plugins.js文件,你會發如今index.js並無引用這個文件,可是在運行時卻可使用,實際上cordova採用了模塊化加載的東東,運行時,cordova會自動尋找插件,把它們一一添加進來,若是瞭解了cordova插件的加載機制對編寫第三方插件頗有幫助的。

4.build

輸入指令

cordova build android

ant會自動build項目,而後就能夠快樂的用Eclipse加載這個項目了,可能會再加載另外一個叫**cordovaLib的項目。若是提示缺失***cordovaLib之類的,就把加載的第二個項目引用下,或者把它給導成jar文件。

固然,你能夠在虛擬機下查看,輸入指令

cordova emulate android

或者直接在網頁裏查看,查看時會彈出窗口,一概選否,這是由於加載了cordova.js緣由,你能夠選擇在index隱掉,也能夠選否,而後禁用,這樣就能夠不用煩了。

cordova serve 

請注意你的代碼須要存放在platforms的外部,由於cordova會從外部的www以及merges裏取相應的文件,從新編譯,若是你是寫在platforms裏的android中,cordova會覆蓋掉你寫的,我的親身經歷,寫了好多代碼,結果一下被覆蓋了,幸好在執行命令前,感受會出事,就備份了下。萬幸啊

這裏就教導咱們把代碼寫在最外面的www裏,不要寫在platforms下面,雖然我一直是寫在platforms下面,不過執行了這個指令後把我嚇到了,既然是錯誤那就要改正。

5.經驗

多看官方網站cordvoa或者phonegap
指令部分,我列舉的只是部分,更多你能夠查看官方文檔。

至於爲何兩個網站,這是由於cordova的原名是phonegap,這是一段歷史,有興趣的能夠谷歌。

第三方插件,官網有簡單教程,但感受不足,最好看一個官方實現,這樣你就能夠仿寫了,若是你實在不懂,那就處處找吧,插件要求要懂各個平臺的編程的。

還有各個平臺的開發最好知道點,不要覺得cordova是萬能的,它只是給你跨平臺的能力,若是你對什麼都一無所知,極可能會碰一鼻子灰。

cordova沒什麼困難的,就是一些配置,真正難的仍是如何編寫適應各類手機的代碼,以及學習各個平臺開發的技術。

 

 

 

http://cordova.apache.org/http://cordova.apache.org/

相關文章
相關標籤/搜索