Cordova探险系列(一个)
最早接触PhoneGap平台是在1年多之前,可以使用HTML、CSS和JavaScript跨平台来编写Android或者IOS设备程序。而且应用的核心代码不须要多少改动就行移植。确实让我感觉的到它应该是未来移动设备开发的趋势。
Web程序猿,特别是前端程序猿,可以轻松的通过Web技术来编写移动设备软件。
可是当时给我带来的感觉是应用的响应速度太慢,提供的API不全。可以实现的功能不多。PhoneGap经过1年多的沉淀。现在过头再来看PhoneGap,它又是什么样的呢?有哪些进步呢?
Cordova是什么?
Apache Cordova是PhoneGap贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。
Cordova是一个设备API的集合,它同意手机开发人员通过JavaScript去訪问设备原生功能,比如相机。重力感应等。
结合UI框架,比如jQuery Mobile,Dojo Mobile或者Sencha Touch。能够让开发人员通过HTML,CSS和JavaScript开发手机应用。
当使用Cordova的API时,应用能够在没有不论什么原生代码(Java。Object-C等)的情况下构建。而且,尽管使用着Web开发技术。可是该应用却是在本机执行,而不是远程的Web应用)。
而且由于提供的JavaScript的API在多个设备平台都保持一致性而且基于web标准,所以,应用能够在差点儿没有不论什么改动的情况下应用到各个不同的设备平台。
使用Cordova开发的应用仍然是使用平台的SDK打包,能够放置到每一个设备平台的应用商店中。
Cordova提供了一套统一的JavaScript库,其背后使用平台相应的代码来驱动设备。Cordova支持的平台有:IOS。Android,Blackberry。Windows Phone。Palm WebOS。Bada和Symbian。
怎样開始Cordova编程?
1.下载并安装node.js(假设你已经安装过,就不用了)
2.安装Cordova
1 |
|
3.创建应用程序
1 |
|
4.加入应用平台
这里加入的是Android应用程序
你可能会得到例如以下信息:
Error: ERROR : executing command ‘ant’, make sure you have ant installed and added to your path.
说明你须要安装ant,方法例如以下:
1 |
|
然后加入应用平台
1 |
|
首先进入到hello文件夹下
1 |
|
这里也能够删除一个应用平台
1 |
|
通过ls命令
1 |
|
能够查看你安装关于平台的信息,比如。我的是:
Installed platforms: android 3.3.0
Available platforms: blackberry10, firefoxos, ios
5.构建应用程序
在进行构建之前,先确保你的Android SDK配置好了。
须要下载Android的SDK,并设置Path到系统路径下。
安装Android SDK(Mac平台。下载解压缩即可)
配置SDK的Path到系统路径
1 |
|
在profile文件里加一句话:
export PATH=${PATH}:/Users/twer/Downloads/adt-bundle-mac-x86_64-20131030/sdk/platform-tools:/Users/twer/Downloads/adt-bundle-mac-x86_64-20131030/sdk/tools
记得要指定你自己的路径。
最后还要运行profile将它更新到你的系统path下。
1 |
|
然后你就能够開始构建了:
1 |
|
当然你也能够正对某一个平台构建:
1 |
|
6.在模拟器上执行
1 |
|
此时,模拟器会启动。并自己主动安装应用,效果应该例如以下:

7.实体机上执行
将你的设备插到电脑上,然后执行命令:
1 |
|
应用程序将被安装到你的手机。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Cordova探险系列(一个)的更多相关文章
- Cordova探险系列(三)
自从3.0之后.Cordova默认是关闭全部关于设备原生特性功能的,所以我们要通过加入插件来启动原生特性. 这里以Accelerometer(加速度感应器)为例,来学习怎样使用设备原生特性. 1.加入 ...
- Cordova入门系列(二)分析第一个helloworld项目 转发 https://www.cnblogs.com/lishuxue/p/6015420.html
Cordova入门系列(二)分析第一个helloworld项目 版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了如何创建一个cordova android项目,这章我们介绍一下创建的 ...
- Cordova入门系列(三)Cordova插件调用 转发 https://www.cnblogs.com/lishuxue/p/6018416.html
Cordova入门系列(三)Cordova插件调用 版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了cordova android项目是如何运行的,这一章我们介绍cordova的核心 ...
- Cordova入门系列(四)自定义Cordova插件--showToast
前三篇Cordova入门系列,简单讲解了Cordova,以及如何调用Cordova插件,今天我们讲解一下如何自己做一个插件. 自定义插件,就是自己写一些安卓java代码,然后和js代码以及配置文件,封 ...
- Cordova入门系列(一)创建项目 转发 https://www.cnblogs.com/lishuxue/p/6008678.html
版权声明:本文为博主原创文章,转载请注明出处 Cordova是什么? 初学Cordova的人,虽然了解一点点,知道Cordova是用来将html, css, js变成app的,但并不知道到底是怎么用的 ...
- Cordova入门系列(一)创建项目
Cordova是什么? 初学Cordova的人,虽然了解一点点,知道Cordova是用来将html, css, js变成app的,但并不知道到底是怎么用的,原理是什么.经常会有这样的困惑: 它是一个可 ...
- Cordova入门系列(二)分析第一个helloworld项目
版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了如何创建一个cordova android项目,这章我们介绍一下创建的那个helloworld项目的代码,分析其运行. MainActiv ...
- Cordova入门系列(三)Cordova插件调用
版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了cordova android项目是如何运行的,这一章我们介绍cordova的核心内容,插件的调用.演示一个例子,通过cordova插件, ...
- MVC系列——一个异常消息传递引发的思考
前言:最近在某个项目里面遇到一个有点纠结的小问题,经过半天时间的思索和尝试,问题得到解决.在此记录一下解决的过程,以及解决问题的过程中对.net里面MVC异常处理的思考.都是些老生常谈的问题,不多说, ...
随机推荐
- 重构后的ConditionHelper
两三个月前曾写过<重构ConditionHelper>的随笔,但不知是因为写得不够好还是没有什么新意,我发表至博客园首页时被屏蔽了,本着好的知识应该分享给更多人,加之新项目已交付用户使用所 ...
- java 线程关闭小结(转)
首先,要说的是java中没有一种停止线程的方法是绝对安全的.线程的中断Thread.interrput()方法很容易给人一种误会,让人感觉是一个线程使另外一个正在运行的线程停止工作,但实际上inter ...
- 怎样将android studio项目导入eclipse
如今,越来越多的开源项目都是用android studio来开发的,所以源码都与eclipse有所不同. 以下是将android studio项目导入eclipse的一般步骤: 1. 先解压项目: 2 ...
- Java集合关于ArrayList
ArrayList实现源码分析 2016-04-11 17:52 by 淮左, 207 阅读, 0 评论, 收藏, 编辑 本文将以以下几个问题来探讨ArrayList的源码实现1.ArrayList的 ...
- HDU 1164 Eddy's research I【素数筛选法】
思路:将输入的这个数分成n个素数的相乘的结果,用一个数组存储起来.之后再输出就能够了 Eddy's research I Time Limit: 2000/1000 MS (Java/Others) ...
- pcie inbound、outbound及EP、RC间的互相訪问
Inbound:PCI域訪问存储器域 Outbound:存储器域訪问PCI域 RC訪问EP: RC存储器域->outbound->RC PCI域->EP PCI域->inbou ...
- 浅谈TCP优化(转)
很多人常常对TCP优化有一种雾里看花的感觉,实际上只要理解了TCP的运行方式就能掀开它的神秘面纱.Ilya Grigorik 在「High Performance Browser Networking ...
- Django中的一些同步Model和数据库的命令
1 最简单而又令人兴奋的命令: manage.py syncdb 创建了指定app中的model相应的数据库表,假设是第一次使用此命令,会提示是否创建超级用户,输入username,Email和pas ...
- hdu4738(割桥)
找人去炸边,炸完之后分成两个连通块(炸割桥) 每条边上有w个守卫,派去炸桥的人不能比守卫少 所以, 如果原本不连通,那么输出0 如果没有桥,输出-1 如果有桥没有守卫,那么是输出1,而不是0(tric ...
- cocos2d-x: 33种切换场景
[1]:CCTransitionCrossFade::create(时间,目标场景); //慢慢淡化到还有一场景 [2]:CCTransitionFade::create(时间,目标场景); //本场 ...