概述
Cordova让我们可以使用HTML、JS以及CSS开发跨平台App的公共部分(整个App就是一个WebView或者或者嵌入到本地组件中),与原生API的交互通过Cordova插件实现。
安装配置
工欲善其事,必先利其器。参考帮助文档使用命令行工具建立自己的第一个Cordova项目,然后编译一个安卓版在虚拟机上运行。通过android sdk manager(sdk manager以及android虚拟机可以通过android studio中的工具安装)安装。如果创建、编译项目很慢,可以*o(^▽^)o。注意sdk build-tools需要与jdk的版本相对应(不对应产生的错误)。
android studio与android sdk都有自己建立安卓虚拟机的工具。因为配置了sdk的环境变量,在命令行中打开的是sdk中的虚拟机工具,会发现两边的虚拟机系统镜像不在一个位置,相互不能通用,简直蛋疼。而且虚拟机启动很慢很慢(启动后模拟器速度还不错),不如用BlueStacks或者真机。
在浏览器中查看的命令是cordova serve,不过这个命令需要add platform才起作用,不能针对公共部分的www文件夹,而且修改文件以后不能重新加载需要重启服务才行(ionic的serve命令比较好用)。
ps:项目根目录下的配置文件config.xml文档。
Android Hybrid应用
首先研究整个App界面就是一个WebView的情况。
Android下的Cordova应用只有一个Activity,它的生命周期通过HTML文档事件的方式暴露给应用。
cordova-plugin-camera:使用ionic run android -l -c调试时无法访问手机上的图片,原因是加了-l参数之后app中html是从服务器上取得的,猜测可能是权限的问题导致不能访问本地图片。
存储数据
cordova存储数据的API:LocalStorage、WebSQL以及IndexedDB等等。需要进一步研究。