`
rensanning
  • 浏览: 3552609 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38217
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607596
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682778
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89532
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:402147
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69760
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91835
社区版块
存档分类
最新评论

Cordova 3.x 基础(6) -- Sample工程解析

阅读更多
(1)通过Cordova CLI创建Cordova工程

最简化创建应用:
引用
cordova create app1

***默认使用package名:io.cordova.hellocordova、应用名:HelloCordova。

指定package名和应用名:
引用
cordova create app2 com.rensanning.app.cordova CordovaSample

***也可以单独只指定package名

带汉字的应用名:
引用
cordova create app3 com.rensanning.app.cordova Cordova例子

***config.xml文件使用'UTF-8'编码。


(2)www文件夹下的代码

成功创建完成工程后,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”隐藏。

(3)Android工程

添加平台支持
cordova platform add android
***Cordova会调用Android SDK在app1\platforms\android中创建一个完整的Android应用工程。


工程目录结构
assets\www
这个就是Cordova工程根目录下的www文件夹的所有内容。(cordova.js和cordova_plugins.js是Cordova自动创建的)
***可见Cordova最终也会把你的代码以assets的形式打包到apk中,所以代码安全上,需要对js等进行压缩,核心代码最好不要放在客户端!!!

CordovaLib
从3.3以后,Cordova从.jar改成了Library Project的形式。

cordova
编译、运行工程的脚本。

platform_www
防止用户换机器.cordova/lib不存在,备份cordova.js到此文件夹。build的时候实际上是用的这个文件。

libs
空的文件夹,以前版本可能包含cordova-*.jar。如果你想添加android-support-v4.jar,可以通过插件的形式添加。

(4)在Eclipse中Import Android工程

在Cordova创建Eclipse的Android工程,做了两个特殊的设置:
  • 让Android工程下的"assets/www"和"res/xml/config.xml"不可见(还有一些其他不希望用户修改的文件夹)
  • 把Cordova工程的merges文件夹、www文件夹、config.xml文件链接到了Android工程下


因为platforms\android下的代码都是在build的时候自动生成的,所以修改的话没有什么意义,应该修改Cordova工程根目录下的文件。你也可以通过Eclipse的Resource设置把他们显示出来。



Cordova Android工程的代码不是特别的复杂,通过继承CordovaActivity在首页面的Activity中,解析config.xml文件,做初期化设置,然后嵌入CordovaWebView并加载config.xml中配置的页面URL。

Cordova只是一个Webview的架子,只提供给你能够调用Native API的接口,在UI方面他不会管你页面是什么样子,也不会提供给你任何UI方面的功能,所以UI方面还要借助于jQuery MobileSencha TouchApp Framework(jQMoby)KendoUI MobileAdobe TopcoatjQTouchIonic FrameworkOnsen UI等等。
  • 大小: 6.7 KB
  • 大小: 15.3 KB
  • 大小: 22.5 KB
  • 大小: 23.1 KB
  • 大小: 24 KB
分享到:
评论
10 楼 laden88888888 2016-02-15  
我想知道你们有多少人不用Eclipse和Android Studio开发,只用命令行的
9 楼 yangguoyk 2015-05-22  
新手默默学习中...
8 楼 rensanning 2015-04-21  
从Cordova-Android 4.0.0开始建议导入到Android Studio里,之前的版本官方建议是用Eclipse。
7 楼 pzhihao 2015-04-16  
你们都是把项目导入到AS中开发的吗
6 楼 madderchen 2015-03-16  
5 楼 hsmsyy 2014-10-28  

就是cordova的用法总是变化,我用了好久才知道现在cordova把所有的与设备交互的功能转为plugin了,不知道折腾啥
4 楼 wangshiyang 2014-10-22  
hsmsyy 写道
因为platforms\android下的代码都是在build的时候自动生成的,所以修改的话没有什么意义,应该修改Cordova工程根目录下的文件。

楼主,每次修改cordova工程根目录下www文件夹,都必须执行控制台明了build吗?那还要eclipse干嘛呢,我看的eclipse工程目录中已经link了Cordova/www文件夹,有没有办法让eclipse执行build的时候自动把www文件夹复制过去。
网上有说,让eclipse在run的时候执行cordova的build命令,但是这样是不是把android下的所有文件都重置了,那我的activity.java不是也白写了?还是说activity也需要在根目录下修改?

我看了下  如果需要自己写activity的话  需要引用一个插件  
这种的只是纯html css 类的    感觉你应该是hybrid app吧
3 楼 ma_yan368 2014-09-24  
我执行cordova 建立项目后, 导入eclipse后  出现 找不到*****-cordovalib.jar 包的错误,
类似这个百度知道里的错误:http://zhidao.baidu.com/link?url=nQJ65JFDcQ5gWsyUETsi_OC6PVxMgtvyTpAg_05JxVwzeJVXD55WwXsQ_1Yr_GhLaFKX4uU3jFqGBrq_Pz2Jfcpd_4nlrf8sBL7-T1y0yr7
能告诉我为什么吗? 我找了 没有生成这个jar包
2 楼 hsmsyy 2014-09-22  
因为platforms\android下的代码都是在build的时候自动生成的,所以修改的话没有什么意义,应该修改Cordova工程根目录下的文件。

楼主,每次修改cordova工程根目录下www文件夹,都必须执行控制台明了build吗?那还要eclipse干嘛呢,我看的eclipse工程目录中已经link了Cordova/www文件夹,有没有办法让eclipse执行build的时候自动把www文件夹复制过去。
网上有说,让eclipse在run的时候执行cordova的build命令,但是这样是不是把android下的所有文件都重置了,那我的activity.java不是也白写了?还是说activity也需要在根目录下修改?
1 楼 xf326521 2014-09-12  
楼主写的还不错 1000人看完也不知道回复下

相关推荐

    Cordova 3.x 实例开发 -- 基于Ionic的Todo应用

    Cordova 3.x是其早期的一个版本,尽管现在已更新到更高版本,但理解基础版本对于学习移动开发历史和工作原理很有帮助。 在这个实例中,我们将探讨如何使用Cordova 3.x和Ionic框架创建一个Todo应用。Ionic是一个基于...

    Cordova 3.x 基础(10) -- UI框架Ionic Framework

    在Cordova 3.x的基础上,开发者可以结合UI框架如Ionic Framework来构建美观且功能丰富的移动应用。 Ionic Framework是一个专为Cordova和AngularJS设计的开源HTML5移动应用框架,旨在提供一套完整的UI组件和工具,...

    Cordova 3.x 入门 - 目录

    比如,如果你想要访问设备的相机功能,可以添加`cordova plugin add cordova-plugin-camera`。每个插件都有相应的API文档供开发者参考。 7. **打包与发布**:完成开发后,可以使用Cordova提供的`cordova build --...

    Cordova 3.x 基础(16) -- slides & books

    在本主题中,我们将深入探讨Cordova 3.x的基础知识,包括其工作原理、安装与配置、插件系统、以及如何创建和发布应用程序。 1. **Cordova简介** Apache Cordova 是Apache软件基金会的一个开源项目,它的核心理念是...

    cordova-2.9.1.jar

    实实在在经过ant编译的cordova-2.9.1.jar 而不是有些人坑蒙拐骗的rar文件

    Cordova 3.x 基础(12) -- Plugin开发

    Cordova 3.x 是一个非常重要的版本,它是Apache Cordova框架的一个早期迭代,该框架允许开发者使用HTML5、CSS3和JavaScript来构建跨平台的移动应用程序。Cordova的核心概念是提供一个“web容器”,将Web应用包装在...

    Cordova 3.x 源码分析(2) -- cordova.js概要

    在Cordova 3.x版本中,这些功能对于开发者理解和构建混合应用至关重要。 1. 初始化过程: 当应用启动时,`cordova.js`首先处理初始化工作。它会监听页面加载事件,当DOM加载完成后,它会触发`deviceready`事件。这...

    Android代码-cordova-plugin-app-update

    cordova-plugin-app-update App updater for Cordova/PhoneGap Demo Try it yourself: Just clone and install this demo. cordova-plugin-app-update-DEMO :tada: 如果喜欢它,请别忘了给我一颗鼓励的星 Support ...

    Cordova 3.x 基础(7) -- Native API的使用

    **Cordova 3.x 基础:Native API的使用** Cordova,作为一个开源的移动应用开发框架,允许开发者使用Web技术(HTML5、CSS3、JavaScript)来构建跨平台的移动应用程序。在Cordova 3.x版本中,开发者可以通过其提供的...

    Cordova 3.x 实用插件(1) -- Google地图Maps

    cordova plugin add cordova-plugin-googlemaps ``` 安装完成后,插件会自动在项目中添加必要的JavaScript和Native代码,使得我们可以调用Google Maps API。接下来,我们需要在HTML页面中创建一个用于显示地图的div...

    Cordova 3.x入门

    在本书中,作者rensanning将带领读者入门Cordova 3.x,涵盖了基础知识点、实用插件、源码分析和实例开发等方面的内容。 首先,作者介绍了如何在Windows和Android环境下搭建Cordova开发环境,这是开发移动应用的第一...

    Cordova 3.x 实用插件(2) -- 二维码Barcode

    Cordova 3.x 实用插件(2) -- 二维码Barcode Cordova 是一个流行的开源框架,用于构建原生移动应用程序,它允许开发者使用Web技术(HTML、CSS和JavaScript)来开发跨平台的应用。在Cordova 3.x版本中,开发者可以...

    cordova-hot-code-push-cli(热更新插件)

    热更新时,我们执行命令 npm install -g cordova-hot-code-push-cli安装插件,但运行cordova-hcp server会报错,如:Could not create tunnel: { Error: ngrok is not yet ready to start tunnels...,这时我们找到...

Global site tag (gtag.js) - Google Analytics