Cordova基本使用(一)
简述
Apache Cordova是一个开源的移动开发框架。允许你用标准的web技术-HTML5,CSS3和JavaScript做跨平台开发。 应用在每个平台的具体执行被封装了起来,并依靠符合标准的API绑定去访问每个设备的功能,比如说:传感器、数据、网络状态等。
使用Apache Cordova的人群:
移动应用开发者,想扩展一个应用的使用平台,而不通过每个平台的语言和工具集重新实现。
web开发者,想包装部署自己的web App将其分发到各个应用商店门户。
移动应用开发者,有兴趣混合原生应用组建和一个WebView(一个特别的浏览器窗口) 可以接触设备A级PI,或者你想开发一个原生和WebView组件之间的插件接口。
架构
这是cordova应用程序的几个组成部分。下面这幅图是cordova应用架构的高级视图。
专业盗图
WebView
Cordova启用的WebView可以给应用提供完整用户访问界面。在一些平台中,他也可以作为一个组件给大的、混合应用,这些应用混合和Webview和原生的应用组件。(查看Embedding WebViews获得详细内容。)
Web App
这是你应用程序代码存在的地方。应用的实现是通过web页面,默认的本地文件名称是是index.html,这个本地文件应用CSS,JavaScript,图片,媒体文件和其他运行需要的资源。应用执行在原生应用包装的WebView中,这个原生应用是你分发到app stores中的。
这个容器中包含一个非常重要文件- config.xml 文件他提供App的重要的信息和特定的参数用来影响App的工作,比如说是否响应方向的变动。
基础使用
安装Cordova CLI:
下载和安装Node.js。安装完成后你可以在命令行中使用
node
和npm
。(可选)下载和安装git client, 如果你没有。安装成功后,你可以在命令行中使用
git
。 这个命令行使用下载git仓库中的资源。安装
cordova
模块使用Nodejs的npm
工具。cordova
模块会被npm
工具自动下载。
在OS X和Linux上:
$ sudo npm install -g cordova
在OS X和Linux上,
npm
命令加上前缀sudo
因为cordova
可能需要安装在其他的受限制目录比如/usr/local/share
。如果你使用可选工具nvm/nave或者具有安装目录的写权限,那么你可以省略sudo
前缀。这里有更多提示 可用在使用npm
没有sudo
前缀时,如果你想那么做。在Windows上:
C:\>npm install -g cordova
-g
标志是告诉 npm
我们全局安装 cordova
。否则我们将会安装在当前工作目录的 node_modules
子目录。
安装完成后,你应该能够在命令行中运行cordova
命令,在没有任何参数的时候会打印一些帮助信息
创建App
熟悉命令,使用 cordova -h 查看。
2. 新建命令[链接]
#cordova create path [id [name [config]]] [options]
# 创建文件名为demoApp 包名 org.apache.cordova.demoApp 应用名为demoApp
cordova create demoApp org.apache.cordova.demoApp demoApp
3. 添加插件[链接]
eg:cordova plugin add cordova-plugin-camera
4.添加平台[链接]
cd demoApp
cordova platform add android
cordova platform add android@6.0.0
cordova platform add ios
cordova platform add brower
5.检测环境[链接]
cordova requirements [platformName]
6.生成APP[链接]
默认情况下, cordova create
生产基于web应用程序的骨架,项目开始页面位于www/index.html
文件。任何初始化任务应该在www/js/index.js
文件中的deviceready事件的事件处理函数中
cordova build cordova build android cordova build android --verbose cordova build ios
cordova build android --release -- --keystore="..\android.keystore" --storePassword=android --alias=mykey
7.查看生成的apk
生成app后面,最后的信息里面有apk的路径
/demoApp/platforms/android/app/build/outputs/apk/debug
/demoApp/platforms/android/app/build/outputs/apk/release
项目结合cordova
根据cordova的描述,web的项目目录位于www文件夹里,那么也就是把静态文件生成到www文件夹就可以了。然后在index.html里面引入cordova.js
<script src="cordova.js"></script>
普通h5项目结合cordova
直接把文件拷贝到www下
vue项目结合cordova
vue-cli项目可以修改webpack build的生成路径到www文件夹里
见:项目/config/index.js 修改如下
//代码省略
build: {
// Template for index.html
index: path.resolve(__dirname, '../www/index.html'), // Paths
assetsRoot: path.resolve(__dirname, '../www'),
assetsSubDirectory: 'static',
assetsPublicPath: '', //代码省略
Cordova基本使用(一)的更多相关文章
- H5程序员如何利用cordova开发跨平台应用
什么是Cordova? Cordova以前也叫PhoneGap,它提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头.麦克风等.Cordova还 ...
- Apache Cordova开发Android应用程序——番外篇
很多天之前就安装了visual studio community 2015,今天闲着么事想试一下Apache Cordova,用它来开发跨平台App.在这之前需要配置N多东西,这里找到了一篇MS官方文 ...
- Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App
安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...
- VS2015 Update2中有关cordova和xamarin安装的问题
最近VS2015出了Update2,当然是第一时间进行了安装,中间过程曲折,反复安装卸载n次,也算是获得了一定的安装经验值.现在说一下经常出的问题. Update2里最吸引人的当然是跨平台开发的部分, ...
- Appium环境搭建+cordova
1.安装JDK 配置JAVA_HOME(变量值为jdk的安装目录)以及Path path值如下: 验证是否生效 2.安装node.js 选择适合自己的版本官网直接下载https://nodejs.or ...
- Cordova应用程序修改启动画面或者Icon
1) 制作启动画面图片或icon ionic resources //同时生成icon和splash ionic resources --icon //只生成icon ionic resources ...
- HTML5学习总结-番外04 Cordova/PhoneGap
一 PhoneGap 1 PhoneGap简绍 http://www.cnblogs.com/JustRun1983/p/3819433.html 2 环境安装 http://cordova.apac ...
- Mac下安装ionic和cordova,并生成iOS项目
为了开发HTML5,除了最新使用React Native等之外,目前首选的为稳定的ionic+Angularjs来开发iOS和android. Ionic(ionicframework一款接近原生的H ...
- 搭建 AngularJS+Ionic+Cordova 开发环境并运行一个demo
目前的手机APP有三类:原生APP,WebAPP,HybridApp:HybridApp结合了前两类APP各自的优点,越来越流行. Cordova就是一个中间件,让我们把WebAPP打包成Hybrid ...
- Cordova环境搭建 & HelloWorld
目前的手机APP有三类:原生APP,WebAPP,HybridApp:HybridApp结合了前两类APP各自的优点,越来越流行. Cordova就是一个中间件,让我们把WebAPP打包成Hybrid ...
随机推荐
- MySQL语句判断数据库数据重复情况,新增、删除、不变。
判断 7月8月两个月数据对比情况,新增.删除(离职).重复. 根据manager_name,gg_name,employer,department,historical_office判断出是否重复数据 ...
- Qt音视频开发14-mpv读取和控制
一.前言 用mpv来读取文件的信息,以及设置当前播放进度,音量.静音等,和当时vlc封装的功能一样,只不过vlc是通过调用函数接口去处理,而mpv是通过读取和设置属性来处理,vlc支持定时器或者线程中 ...
- Qt编写安防视频监控系统33-onvif云台控制
一.前言 云台控制也是onvif功能中最常用的,最常用的功能排第一的是拿到视频流地址,排第二的就是云台控制了,云台控制的含义就是对带云台的摄像机进行上下左右的移动,一般云台摄像机都是带有一个小电机,一 ...
- 微信后团队分享:微信后台基于Ray的分布式AI计算技术实践
本文由微信后台Astra项目团队分享,原题"Ray在微信AI计算中的大规模实践",下文进行了排版和内容优化. 1.引言 微信存在大量AI计算的应用场景,主要分为三种:流量分发.产品 ...
- macOS安装编译pcl
macOS安装编译pcl git clone git@github.com:PointCloudLibrary/pcl.git cd pcl brew install eigen brew insta ...
- c# 免注册调用大漠插件100%完美识别文字
c# 免注册调用大漠插件100%完美识别文字 下载:https://download.csdn.net/download/xxq931123/10875122 绑定 模式:http://zy.anji ...
- 6种@Transactional注解的失效场景
一.事务 事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制,主要分为编程式事务和声明式事务两种. 编程式事务:是指在代码中手动的管理事务的提交.回滚等操作,代码侵入性比较强, ...
- 452:管理压缩的TAR存档
- 网络通信协议:TCP(三次握手四次挥手)和UDP
通信要素2:网络协议 网络通信协议计算机网络中实现通信必须有一些约定,即通信协议,对速率.传输代码.代码结构.传输控制步骤.出错控制等制定标准. 问题:网络协议太复杂计算机网络通信涉及内容很多, ...
- java中匿名类,Bean规范,全局变量
实现看见一个人,我们对它说hello public class study01 { public static void main(String[] args) { Me me = new Me(); ...