[b](1)通过Cordova CLI创建Cordova工程[/b]
最简化创建应用:
[quote]cordova create app1[/quote]
***默认使用package名:io.cordova.hellocordova、应用名:HelloCordova。
指定package名和应用名:
[quote]cordova create app2 com.rensanning.app.cordova CordovaSample[/quote]
***也可以单独只指定package名
带汉字的应用名:
[quote]cordova create app3 com.rensanning.app.cordova Cordova例子[/quote]
***config.xml文件使用'UTF-8'编码。
[img]http://dl2.iteye.com/upload/attachment/0094/1496/cd51b345-8f35-303a-a881-9d5ca7ca6d40.png[/img]
[b](2)www文件夹下的代码[/b]
成功创建完成工程后,Cordova会默认生成index.html, css/index.css, img/logo.png 和 js/index.js。
index.hml
针对Webview应用的设置
调用Cordova核心API的js
***从Cordova 3开始采用plugin的方式提供核心API,所以cordova.js文件中只是提供一些基本函数。
调用index.js
initialize()函数实际上是做deviceready事件的监听设置,当deviceready完成后,显示“Device is Ready”把“Connecting to Device”隐藏。
[b](3)Android工程[/b]
添加平台支持
cordova platform add android
***Cordova会调用Android SDK在app1\platforms\android中创建一个完整的Android应用工程。
[img]http://dl2.iteye.com/upload/attachment/0094/1498/93abebf4-03e5-3b80-8c05-fae647c7537b.png[/img]
工程目录结构
assets\www
这个就是Cordova工程根目录下的www文件夹的所有内容。(cordova.js和cordova_plugins.js是Cordova自动创建的)
[color=red]***可见Cordova最终也会把你的代码以assets的形式打包到apk中,所以代码安全上,需要对js等进行压缩,核心代码最好不要放在客户端!!![/color]
CordovaLib
从3.3以后,Cordova从.jar改成了Library Project的形式。
cordova
编译、运行工程的脚本。
platform_www
[url=https://issues.apache.org/jira/browse/CB-5063]防止用户换机器.cordova/lib不存在[/url],备份cordova.js到此文件夹。build的时候实际上是用的这个文件。
libs
空的文件夹,以前版本可能包含cordova-*.jar。如果你想添加android-support-v4.jar,可以通过[url=https://github.com/MobileChromeApps/cordova-plugin-android-support-v4]插件的形式[/url]添加。
[b](4)在Eclipse中Import Android工程[/b]
在Cordova创建Eclipse的Android工程,做了两个特殊的设置:
[list][*]让Android工程下的"assets/www"和"res/xml/config.xml"不可见(还有一些其他不希望用户修改的文件夹)
[*]把Cordova工程的merges文件夹、www文件夹、config.xml文件链接到了Android工程下[/list]
[img]http://dl2.iteye.com/upload/attachment/0094/1500/9fdea37f-f838-3f3b-b3de-4f55b9e7654b.png[/img]
因为platforms\android下的代码都是在build的时候自动生成的,所以修改的话没有什么意义,应该修改Cordova工程根目录下的文件。你也可以通过Eclipse的Resource设置把他们显示出来。
[img]http://dl2.iteye.com/upload/attachment/0094/1502/f0aa7ead-cc7f-3a05-9abf-13710349a74e.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0094/1504/824069ec-b5f6-39f0-b105-ca276d6ac729.png[/img]
Cordova Android工程的代码不是特别的复杂,通过继承CordovaActivity在首页面的Activity中,解析config.xml文件,做初期化设置,然后嵌入CordovaWebView并加载config.xml中配置的页面URL。
[b][color=blue]Cordova只是一个Webview的架子,只提供给你能够调用Native API的接口,在UI方面他不会管你页面是什么样子,也不会提供给你任何UI方面的功能,所以UI方面还要借助于[url=http://jquerymobile.com/]jQuery Mobile[/url]、[url=http://www.sencha.com/products/touch]Sencha Touch[/url]、[url=http://app-framework-software.intel.com/]App Framework(jQMoby)[/url]、[url=http://www.telerik.com/kendo-ui-mobile]KendoUI Mobile[/url]、[url=http://topcoat.io/]Adobe Topcoat[/url]、[url=http://jqtjs.com/]jQTouch[/url]、[url=http://ionicframework.com/]Ionic Framework[/url]、[url=http://onsenui.io/]Onsen UI[/url]等等。[/color][/b]
最简化创建应用:
[quote]cordova create app1[/quote]
***默认使用package名:io.cordova.hellocordova、应用名:HelloCordova。
指定package名和应用名:
[quote]cordova create app2 com.rensanning.app.cordova CordovaSample[/quote]
***也可以单独只指定package名
带汉字的应用名:
[quote]cordova create app3 com.rensanning.app.cordova Cordova例子[/quote]
***config.xml文件使用'UTF-8'编码。
[img]http://dl2.iteye.com/upload/attachment/0094/1496/cd51b345-8f35-303a-a881-9d5ca7ca6d40.png[/img]
[b](2)www文件夹下的代码[/b]
成功创建完成工程后,Cordova会默认生成index.html, css/index.css, img/logo.png 和 js/index.js。
index.hml
针对Webview应用的设置
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />调用Cordova核心API的js
<script type="text/javascript" src="cordova.js"></script>***从Cordova 3开始采用plugin的方式提供核心API,所以cordova.js文件中只是提供一些基本函数。
调用index.js
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript">
app.initialize();
</script>initialize()函数实际上是做deviceready事件的监听设置,当deviceready完成后,显示“Device is Ready”把“Connecting to Device”隐藏。
[b](3)Android工程[/b]
添加平台支持
cordova platform add android
***Cordova会调用Android SDK在app1\platforms\android中创建一个完整的Android应用工程。
[img]http://dl2.iteye.com/upload/attachment/0094/1498/93abebf4-03e5-3b80-8c05-fae647c7537b.png[/img]
工程目录结构
assets\www
这个就是Cordova工程根目录下的www文件夹的所有内容。(cordova.js和cordova_plugins.js是Cordova自动创建的)
[color=red]***可见Cordova最终也会把你的代码以assets的形式打包到apk中,所以代码安全上,需要对js等进行压缩,核心代码最好不要放在客户端!!![/color]
CordovaLib
从3.3以后,Cordova从.jar改成了Library Project的形式。
cordova
编译、运行工程的脚本。
platform_www
[url=https://issues.apache.org/jira/browse/CB-5063]防止用户换机器.cordova/lib不存在[/url],备份cordova.js到此文件夹。build的时候实际上是用的这个文件。
libs
空的文件夹,以前版本可能包含cordova-*.jar。如果你想添加android-support-v4.jar,可以通过[url=https://github.com/MobileChromeApps/cordova-plugin-android-support-v4]插件的形式[/url]添加。
[b](4)在Eclipse中Import Android工程[/b]
在Cordova创建Eclipse的Android工程,做了两个特殊的设置:
[list][*]让Android工程下的"assets/www"和"res/xml/config.xml"不可见(还有一些其他不希望用户修改的文件夹)
[*]把Cordova工程的merges文件夹、www文件夹、config.xml文件链接到了Android工程下[/list]
[img]http://dl2.iteye.com/upload/attachment/0094/1500/9fdea37f-f838-3f3b-b3de-4f55b9e7654b.png[/img]
因为platforms\android下的代码都是在build的时候自动生成的,所以修改的话没有什么意义,应该修改Cordova工程根目录下的文件。你也可以通过Eclipse的Resource设置把他们显示出来。
[img]http://dl2.iteye.com/upload/attachment/0094/1502/f0aa7ead-cc7f-3a05-9abf-13710349a74e.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0094/1504/824069ec-b5f6-39f0-b105-ca276d6ac729.png[/img]
Cordova Android工程的代码不是特别的复杂,通过继承CordovaActivity在首页面的Activity中,解析config.xml文件,做初期化设置,然后嵌入CordovaWebView并加载config.xml中配置的页面URL。
[b][color=blue]Cordova只是一个Webview的架子,只提供给你能够调用Native API的接口,在UI方面他不会管你页面是什么样子,也不会提供给你任何UI方面的功能,所以UI方面还要借助于[url=http://jquerymobile.com/]jQuery Mobile[/url]、[url=http://www.sencha.com/products/touch]Sencha Touch[/url]、[url=http://app-framework-software.intel.com/]App Framework(jQMoby)[/url]、[url=http://www.telerik.com/kendo-ui-mobile]KendoUI Mobile[/url]、[url=http://topcoat.io/]Adobe Topcoat[/url]、[url=http://jqtjs.com/]jQTouch[/url]、[url=http://ionicframework.com/]Ionic Framework[/url]、[url=http://onsenui.io/]Onsen UI[/url]等等。[/color][/b]
本文详细介绍如何使用CordovaCLI创建Cordova应用,并介绍工程结构、集成步骤及注意事项。包括创建过程、文件夹内容说明、Android工程搭建以及Eclipse导入等关键环节。

被折叠的 条评论
为什么被折叠?



