在 http://rensanning.iteye.com/blog/2020843 已經(jīng)介紹過通過 Cordova CLI 創(chuàng)建 Cordova 工程。
Cordova 生成的 Android 工程主要來自于以下目錄:
引用
C:\Documents and Settings\RenSanNing\.cordova\lib\android\cordova\3.4.0\bin\templates\project
其中所用的 CordovaLib 來自于以下目錄:
引用
C:\Documents and Settings\RenSanNing\.cordova\lib\android\cordova\3.4.0\framework
從 Cordova 3.3.0以后,方便調(diào)試,CordovaLib 的提供形式從 jar 文件變成了 Android Library。
參考:https://issues.apache.org/jira/browse/CB-5232
CordovaLib 中的代碼主要包括:
com.squareup.okhttp: 導(dǎo)入 HTTP+SPDY 客戶端的 OkHTTP,獲取網(wǎng)絡(luò)資源。
org.apache.cordova: 剩下的所有代碼都在該包下(以前還有過 org.apache.cordova.api )
http://wiki.jikexueyuan.com/project/cordova-3.x-primer-source-code/images/7.1.png" alt="picture7.1" />
基礎(chǔ)類:
Webview 相關(guān):
Plugin 相關(guān):
無用類:
****這些文件中有些 Java 文件已經(jīng)不再建議使用,在未來的某個(gè)版本將會(huì)被刪除?。?!
其他:
Android WebView 由于版本的問題,存在很多局限和 Bug,而 Android 4.4開始默認(rèn)搭載 Google 的最新渲染引擎 Blink/Chromium。
①ChromeView 使用 Chromium 代替 WebView 的一個(gè)實(shí)現(xiàn),也有 cordova-android-chromeview,不過更新比較慢。
②Intel Crosswalk 構(gòu)建于 Chromium 之上,提供更加豐富的功能。同時(shí)提供了 crosswalk-cordova-android。
使用以上2中解決方案都能改善 Webview 的問題,但是同時(shí)你的 apk 文件的大小將增加20 M左右。
程序入口:
Java 代碼
public class CordovaSample extends CordovaActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
// 讀取config.xml,設(shè)置UI
super.onCreate(savedInstanceState);
// 初始化Webview后添加到UI中
super.init();
// 加載首頁file:///android_asset/www/index.html
// 其中index.html是在config.xml中配置的。
super.loadUrl(Config.getStartUrl());
}
}
啟動(dòng)序列圖:
http://wiki.jikexueyuan.com/project/cordova-3.x-primer-source-code/images/7.2.jpg" alt="picture7.2" />
Plugin 序列圖:
http://wiki.jikexueyuan.com/project/cordova-3.x-primer-source-code/images/7.3.jpg" alt="picture7.3" />