前言
现在做项目为了节约成功,适配多平台 cordova不为是一个很好的选择。个人觉得以后也许是一个趋势!像一些知名的APP 比如支付宝 淘宝 好多都大量集成了HTML5 页面!像我们公司现在的APP 大多都是h5页面 感觉原生都没什么事情做了。可想而知学习cordova的重要性!
简介
Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。Cordova还提供了一组统一的JavaScript类库,以及为这些类库所用的设备相关的原生后台代码。Cordova支持如下移动操作系统:iOS, Android,ubuntu phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。
入门第一步:下载资源库并集成到项目中来
去下载cordova 库的源码 可以去github上下载 也可以去官网下载。其实官网上的代码也是放到github上的!
官方网站:http://cordova.apache.org/
github资源下载地址:https://github.com/apache/cordova-ios
本地下载地址:http://xiazai.jb51.net/201711/yuanma/cordova-ios(jb51.net).rar
使用 CocoaPods进行第三方库的管理 我之前用的是cordova3.8.0 前几天不久更新到了4.0.1 。 4.0.1 只支持8.0以上 以下的你用CocoaPods 更新会提示错误!注意一下就可以了!
platform :ios, '8.0'
pod 'Cordova', '~> 4.0.1'
入门第二步:如何在项目中正确的集成 cordova4.0.1 库
1. 配置 Config.xml 很重要
Config.xml is a global configuration file that controls many aspects of a cordova application's behavior. This platform-agnostic XML file is arranged based on the W3C'sPackaged Web Apps (Widgets)specification, and extended to specify core Cordova API features, plugins, and platform-specific settings.For projects created with the Cordova CLI (described in The Command-Line Interface), this file can be found in the top-level directory:
大致意思就是: config.xml 是一个全局配置文件,控制一个cordova应用行为的许多方面。这种平台无关的XML文件是基于w3c'spackaged Web应用程序设置(widgets)规范,并扩展到指定核心cordovaAPI功能,插件和平台的具体设置。与科尔多瓦CLI创建的项目(描述在命令行界面)
http://cordova.apache.org/docs/en/6.x/config_ref/index.html 官方详解
2. 显示html5页面需要一个容器 在这里使用CDVViewController类 进行html5的显示以及控制 当然也可以自定义一个容器继承CDVViewController类做一些定制功能。
如何使用如下:
self.cordovaManageVC= [[CordovaManageVCalloc]init]; self.cordovaManageVC.startPage=@"http://www.baidu.com"; [self.navigationControllerpushViewController:self.cordovaManageVCanimated:YES];
3. 设置用户代理
- (instancetype)init { self= [superinit]; if(self!=nil) { //设置用户代理 如不设置无法调用与H5定制的JavaScript方法进行交互 NSString* original = [CDVUserAgentUtiloriginalUserAgent]; NSString* userAgent = [originalstringByAppendingString:@"delegateUserName"]; self.baseUserAgent= userAgent; } returnself; }
4. 自定义插件 需要使用到 cordova的CDVPlugin类 用子类来集成CDVPlugin
/** *返回控件 * *@param command */ - (void)back:(CDVInvokedUrlCommand*)command;
定制完成之后需要在confing.xml 进行配置
以上就是cordova 最基本的用法了;
使用 Cordova 遇到的一些问题
问题一
问题
[Error: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually. Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to inclde path to valid SDK directory.] ERROR building one of the platforms: Error: cmd: Command failed with exit code
解决办法
ANDROID_HOME=D:\apps\Android\sdk PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
问题二
问题
Error: Could not find an installed version of Gradle either in Android Studio, or on your system to install the gradle wrapper. Please include gradle in your path, or install Android Studio
解决办法
从 https://services.gradle.org/distributions/ 下载最新gradle包并安装。
ANDROID_HOME=/home/kongxx/Android/Sdk GRADLE_HOME=/apps/gradle-3.2.1 PATH=$PATH:$ANDROID_HOME/tools/:$ANDROID_HOME/platform-tools:$GRADLE_HOME/bin
问题三
问题
使用 “cordova build android” 打包的时候报错:Error: Could not find gradle wrapper within Android SDK.
$ cordova build android CHCP plugin after prepare hook: config-file set to http://www.tjdr.info/EWT/chcp.json ANDROID_HOME=/home/kongxx/Android/Sdk JAVA_HOME=/opt/jdk8 Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK. Looked here: /home/kongxx/Android/Sdk/tools/templates/gradle/wrapper
解决办法
查看了一下 /home/kongxx/Android/Sdk/tools/templates/gradle/wrapper 目录,目录确实不存在,于是检查了一下 android-studio 环境,发现可以在 plugins/android/lib/templates 目录下包括上面的内容,于是,果断copy之。
$ cp -rf android-studio/plugins/android/lib/templates /home/kongxx/Android/Sdk/tools/
问题四
问题
使用Cordova打包时报错:Error: spawn EACCES
$ cordova build android CHCP plugin after prepare hook: config-file set to http://www.tjdr.info/EWT/chcp.json ANDROID_HOME=/home/kongxx/Android/Sdk JAVA_HOME=/opt/jdk8 Subproject Path: CordovaLib Error: spawn EACCES
解决办法
sudo chmod -Rf 755 ~/Android
问题五
问题
在 cordova 中使用浏览器测试的时候,默认启动的是 google-chrome 浏览器,比如:
cordova run browser
解决办法
可以使用 –target 来指定想使用的浏览器。
cordova run browser --target=opera cordova run browser --target=firefox
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]