Cordova系列(一)
1.安装
这里推荐用npm安装cordova,至于npm的安装,网上有很多的。打开命令行,输入
npm install -g cordova
这里就安装了好了最新版的cordova,虽然绝大多数会成功,但预防下不成功的情况,推荐搜索npm镜像,利用镜像安装。
cordova是利用ant打包的,所以你必须要安装ant并且配置安装环境。
如果你想打包android项目,本地需要有一份android的SDK,并且配置好环境变量,当然cordova提供了远程下载androidSDK的方式(呵呵,我没用过)。
2.使用
1.创建项目
命令行进入工作空间,输入
cordova create hello com.test.hello "Hello"
这里第一个参数会创建一个项目文件夹,第二个是包名,第三个参数,是项目的名字。现在cordova会生成相应的目录,现在进入hello里可以看到
这里说明一下,www这个文件夹存放各个平台共同所需的文件,
merges下可以建立各个平台的文件夹 如建立android文件夹,可以再其中存放android平台所必须的文件,
plugins存放的是插件,platforms里面是各个平台具体的项目,但现在什么都没有,因为我们还没添加平台。
2.添加插件
进入hello目录,输入命令
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/
Cordova系列(一)的更多相关文章
- Cordova 系列之Mac OS 环境配置
1.从AppStore 安装xcode 2.安装node.js环境 http://nodejs.org/ 3.使用命令行安装 cordova 命令行帮助:http://cordova.apache.o ...
- Cordova 系列之创建一个iOS项目
1.打开终端 2.输入命令 $ cd Desktop (PS:Desktop表示放在桌面,你可以选择放任意位置) 3.$ cordova create HelloWorld com.example. ...
- Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App
安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...
- Cordova各个插件使用介绍系列(六)—$cordovaDevice获取设备的相关信息
详情请看:Cordova各个插件使用介绍系列(六)—$cordovaDevice获取设备的相关信息 在项目中需要获取到当前设备,例如手机的ID,联网状态,等,然后这个Cordova里有这个插件可以用, ...
- Cordova入门系列(三)Cordova插件调用 转发 https://www.cnblogs.com/lishuxue/p/6018416.html
Cordova入门系列(三)Cordova插件调用 版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了cordova android项目是如何运行的,这一章我们介绍cordova的核心 ...
- Cordova入门系列(二)分析第一个helloworld项目 转发 https://www.cnblogs.com/lishuxue/p/6015420.html
Cordova入门系列(二)分析第一个helloworld项目 版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了如何创建一个cordova android项目,这章我们介绍一下创建的 ...
- Cordova入门系列(四)自定义Cordova插件--showToast
前三篇Cordova入门系列,简单讲解了Cordova,以及如何调用Cordova插件,今天我们讲解一下如何自己做一个插件. 自定义插件,就是自己写一些安卓java代码,然后和js代码以及配置文件,封 ...
- Cordova Android源代码分析系列一(项目总览和CordovaActivity分析)
版权声明:本文为博主offbye西涛原创文章.未经博主同意不得转载. https://blog.csdn.net/offbye/article/details/31776833 PhoneGap/Co ...
- Cordova探险系列(三)
自从3.0之后.Cordova默认是关闭全部关于设备原生特性功能的,所以我们要通过加入插件来启动原生特性. 这里以Accelerometer(加速度感应器)为例,来学习怎样使用设备原生特性. 1.加入 ...
随机推荐
- IP地址划分
对于32位的IPV4地址来说,有5中IP地址类型 A类IP地址第一个字节是网络地址,后三个字节是主机地址,且最高位以0开头. 0000001 00000000 00000000 00000001 ...
- sql 递归子查询
select (SELECT (Case A1.AreaAbbr WHEN '' THEN A1.AreaName Else A1.AreaAbbr END)+ ' ' FROM AreaLang ...
- 如何将Console application的Program函数变成支持async的?
如何将Console application的Program函数变成支持async的? class Program { static void Main(string[] args) { Task ...
- JavaScript如何检查网站是可以访问
<html><head><title>JavaScript如何检查网站是可以访问</title> <script> //JavaScript ...
- koa2+koa-views示例
app.js var Koa = require('koa') var fs = require('fs') var path = require('path') var koaStaticPlus ...
- javascript 零星知识点
通过js动态生成的元素绑定事件.不能通过js获取元素对象,并赋予事件,最简捷的途径就是将事件直接添加到属性中(DOM0);
- MySQL_订单类型细分_20161222
#目前在做一个各城市日订单角度的对比分析,因此需要对订单类型进行一下规整.由于App上产品活动许多,查询了多个表,将订单类型规则进行了统一,优惠券和满减券不能同时使用,创建的这两个表都是以订单ID为k ...
- Roguelike 相关知识
here is the link here
- 关于angularjS与jQuery框架的那些事
这篇文章主要介绍了jQuery和angularJS的区别浅析,本文着重讲解一个熟悉jQuery的程序员如何应对angularJS中的一些编程思想的转变吗,需要的朋友可以参考下 最近一直研究angula ...
- sqlserver存取过程游标
ALTER proc [dbo].[common_proc_temp2] as begin declare @id varchar(50); declare @cbcontractid varchar ...