Cordova入门系列(一)创建项目 转发 https://www.cnblogs.com/lishuxue/p/6008678.html
版权声明:本文为博主原创文章,转载请注明出处
Cordova是什么?
初学Cordova的人,虽然了解一点点,知道Cordova是用来将html, css, js变成app的,但并不知道到底是怎么用的,原理是什么。经常会有这样的困惑:
它是一个可以把H5代码变成iOS、安卓等原生代码的东西?
它是一个封装了H5浏览器的壳?可以装在iOS、安卓等平台的app,一打开这个APP就会访问我web app的内容?
还是一个web前端框架,用户使用手机自带浏览器访问我的web app就可以调用他手机的摄像头和麦克风?
1.它不会把你的前端页面变成 ios 原生的 objective-c 或者 android 的 java 代码,你的界面还是以网页形式呈现的,渲染在 Android 的 WebView 或 iOS 的UIWebView 中。
2.不太像壳,只是在运行在 WebView 中的 javascript 代码和原生代码之间建了一座沟通的桥梁,通过它可以用js去访问原生应用。
3.不是前端框架, bootstrap、angularjs、jqueryUI 这些是前端框架。cordova更像一个工具。
简单点理解,Cordova是一个工具,通过它可以将你做的html网页显示在WebView里面,而你网页中用到的JS可以通过他的API去调用原生的东西,比如照相机等。
但它做出来的app比原生做出来的app好在哪里呢,直白点说,简便,省钱。因为cordova app显示的页面全是你做的html页面,所以说你写一套code,就可以用在Android上,IOS上,以及Web上。不用去分别找Android工程师,IOS工程师。
接下来我们一步一步的介绍如何使用Cordova。学习Cordova做app,首先你要会html,js,还要会安卓的原生的东西。不然你还是别往下看了。
Cordova安装:
先安装Nodejs,再通过npm去安装cordova,npm install -g cordova。不会的自行百度。安装完成后执行cordova -v,如果显示cordova的版本,则安装成功。当然,做cordova app,也需要首先在电脑上将安卓的那些环境搭建起来,如sdk等。
创建第一个Cordova项目helloworld:
首先cd到一个指定目录下,执行cordova create hello com.example.hello HelloWorld,会为我们创建一个cordova项目hello。

接下来我们cd到hello下,执行cordova platform add android --save,会在platform下为我们添加一个android项目。(我写的所有的关于cordova的,都是针对Android的,iOS的几乎不会涉及)。

然后将android项目导入到我们的开发工具中,如eclipse。导入之后会有两个项目CordovaLib和MainActivity。我们只需要去关注这个MainActivity就行。运行这个项目,然后在我们的模拟器里显示cordova的欢迎页。至此,cordova android项目创建成功。下一章解释代码,介绍这个项目是如何运行的。

Cordova入门系列(一)创建项目 转发 https://www.cnblogs.com/lishuxue/p/6008678.html的更多相关文章
- 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的核心 ...
- Newbe.Claptrap 框架入门,第二步 —— 创建项目
接上一篇 Newbe.Claptrap 框架入门,第一步 -- 开发环境准备 ,我们继续了解如何创建一个 Newbe.Claptrap 项目. Newbe.Claptrap 是一个用于轻松应对并发问题 ...
- Cordova入门系列(四)自定义Cordova插件--showToast
前三篇Cordova入门系列,简单讲解了Cordova,以及如何调用Cordova插件,今天我们讲解一下如何自己做一个插件. 自定义插件,就是自己写一些安卓java代码,然后和js代码以及配置文件,封 ...
- vue 快速入门 系列 —— Vue(自身) 项目结构
其他章节请看: vue 快速入门 系列 Vue(自身) 项目结构 前面我们已经陆续研究了 vue 的核心原理:数据侦测.模板和虚拟 DOM,都是偏底层的.本篇将和大家一起来看一下 vue 自身这个项目 ...
- 区块链入门(4)Truffle创建项目,编译,及项目部署
上一章的结尾说这一次要讲编写一个智能合约部署到测试网络集群中,并进行交易,但我自己越看越觉得内容挺多的.先讲下truffle的项目创建,编译和部署的问题,然后再做上面说的事情吧. truffle是一套 ...
- spring boot快速入门 1 :创建项目、 三种启动项目方式
准备工作: (转载)IDEA新建项目时,没有Spring Initializr选项 最近开始使用IDEA作为开发工具,然后也是打算开始学习使用spring boot. 看着博客来进行操作上手sprin ...
- Cordova入门系列(一)创建项目
Cordova是什么? 初学Cordova的人,虽然了解一点点,知道Cordova是用来将html, css, js变成app的,但并不知道到底是怎么用的,原理是什么.经常会有这样的困惑: 它是一个可 ...
- Cordova入门系列(二)分析第一个helloworld项目
版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了如何创建一个cordova android项目,这章我们介绍一下创建的那个helloworld项目的代码,分析其运行. MainActiv ...
随机推荐
- [题解] 2038: [2009国家集训队]小Z的袜子(hose)
莫队,卡常数 题目地址 思路 设\(\text{Vis[i]}\)为元素\(\text{i}\)在区间\(\text{[L,R]}\)的出现次数 考虑区间\(\text{[L,R]}\)和元素\(\t ...
- Linux iptables用法与NAT
1.相关概念 2.iptables相关用法 3.NAT(DNAT与SNAT) 相关概念 防火墙除了软件及硬件的分类,也可对数据封包的取得方式来分类,可分为代理服务器(Proxy)及封包过滤机制(IP ...
- python 基础语法梳理(二)
1.gevent使用 # -*- coding: utf-8 -*- import gevent import platform from gevent import subprocess def _ ...
- 死磕 java集合之TreeSet源码分析
问题 (1)TreeSet真的是使用TreeMap来存储元素的吗? (2)TreeSet是有序的吗? (3)TreeSet和LinkedHashSet有何不同? 简介 TreeSet底层是采用Tree ...
- Android Studio配置统一管理依赖版本号引用
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本Demo采用的是其中一个方案,其他方案请阅读参考资料<Android Studio中统一管理版本号引用配置> 使用步骤 ...
- dev treelist和searchcontrol组合模糊查询用法
这里需要用到两个控件,是dev的treelist和searchcontrol,首先呢树形控件要形成树形我在这就不多说了 因为这里是记录下searchcontrol这控件的用法 首先写这三行代码,里面都 ...
- linux 指令备忘
linux 指令备忘 1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 -a 列出包括.a开头的隐藏文件的所有文件 -A 通-a,但不列出"."和"..& ...
- 算法题:实现一个IP白名单过滤器
最近看到一则招聘的JD,附了一个算法题的链接,原题如下: 请实现一个IP白名单过滤算法,实现以下接口 boolean addWhiteIpAddress(String ip); boolean ...
- web前端图片上传(3)--filereader
这篇文章主要是为了介绍一种文件上传的方式.当然文件中是包含图片的.如果大家仔细看我的第一篇web前端图片上传(1)就会知道,其实也是按照这种方式上传你的,但是由于上次时间比较紧张,没有详细的介绍今天的 ...
- Ext.isNumber与Ext.isNumeric
Ext.isNumber: Ext.isNumber(1) true Ext.isNumber(new Number(1)) false Ext.isNumber("1") fal ...