前言:
本篇blog是翻译自Apache Cordova Tutorial
由于本人英文以及编程能力有限,所以可能翻译的不对,希望有看到的大神或者其他同仁们能帮忙指出,不胜感激。
单元1. **1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28---
1. 安装cordova
安装前需要先安装[Node.js](http://nodejs.org/)
2. 打开终端,输入下面的命令行:
`npm install -g cordova`或者`sudo npm install -g cordova`
如果你已经安装了Cordova在你的电脑上,请更新到最新的版本
`npm update -g cordova`或者`sudo npm update -g cordova`
3. 定位(cd)到你要放项目的目录下
4. 使用cordova CLI,在一个名为__workshop__的目录下创建一个名为__Workshop__的Cordova项目:
`cordova create workshop com.yourname.workshop Workshop`
5. `cd workshop`
6. 添加支持iOS平台(可选)
6.1 确定iOS SDK在你的系统中是可用的。
6.2 确定你是在__workshop__路径下的命令行,然后输入:
`cordova platforms add ios`
7. 添加支持android平台(可选)
8. 确保你在__workshop__目录下,然后添加基础的插件到你的项目中去:
cordova plugin add org.apache.cordova.device
cordova plugin add org.apache.cordova.console
9. 检查在workshop目录下的路径结构:
- __www__文件夹是你存放HTML/JavaScript.通过浏览器打开被Cordova CLI创建的应用程序的index.html文件。
- __platforms__文件夹是Cordova为你在不同的平台(ios,android等)编译你的应用程序。这个文件夹下面的内容是通过Cordova CLI自动生成的,你永远不应该修改这个目录下的内容。
- 插件是被安装在__plugins__目录下的。
- 应用程序的参数(名字,作者等)是存储在__config.xml__下的。
**单元2.** **```编译一个Cordova项目:
- 为ios平台编译
- 确定当前是在workshop目录下,然后输入:
cordova build ios
双击workshop/platforms/ios目录下的Workshop.xcodeproj文件。
或着通过命令行在iOS emulator目录下运行该应用程序。第一次安装ios-sim:
npm install -g ios-sim
或者sudo npm install -g ios-sim
然后在ios模拟器中运行这个应用程序:
cordova emulate ios
单元3. 设置Workshop的文件:
- 删除项目中的workshop/www目录下的内容:
- 下载本教程的支持文件传送门,或者从仓库中clone下来:
git clone https://github.com/ccoenraets/cordova-tutorial
- 下载后,解压到你的电脑上。
- 拷贝starter-www内的东西到你项目的workshop/www文件夹下。
- 编译测试你的应用程序:
- 如果已经有Mobile SDK,则直接重复单元2的步骤。
- 如果没有,就用浏览器打开www/index.html。
单元4. 选择数据存储策略:
探索不懂的持久化机制
打开下面的文件然后探索不同的持久化服务:- www/js/services/memory/EmployeeService.js
- www/js/services/json/EmployeeService.js
- www/js/services/localstorate/EmployeeService.js
- www/js/services/websql/EmployeeService.js
使用不同的持久化机制测试应用程序:
应用程序初始化配置为内存数据存储的。改变应用程序的本地持久化机制。- 在index.html:替换
js/services/memory/EmployeeService.js
字符串,比如替换为js/services/websql/EmployeeService.js
- 测试应用程序(在浏览器下测试)
为了测试JSON服务,确保Node.js服务提供的某些功能有在运行:- 打开命令行,来到cordova-tutorial目录下的server目录
- 安装服务依赖:
npm install
- 启动服务
node server
- 在index.html:替换
单元5. 使用原生通知:
默认的JavaScript弹窗总是面临着这样子的问题:不是原生的(或者不是本地的)。这里当我们运行在移动设备时将显示原生的弹窗,然后使用浏览器的时候将自动用回JavaScript的弹窗。
- 确保你在workshop目录下,然后添加原生对话框插件到你的项目中:
cordova plugin add org.apache.cordova.dialogs
在
index.html
中,加上下面的脚本标签(作为body底部的第一个script标签):
`这个委托Cordova CLI在编译时,注入一个特殊的cordova.js版本到平台。 换句话说,cordova.js 不需要(也不应该)出现在你 project/www 文件夹下。
当运行在移动设备上时,navigator.notification对象是available(对话框插件已经安装了的)时,会覆盖window.alert()方法并且替换它的默认实现通过调用navigator.notification.alert()
打开js/app.js,然后加入下面的代码到”Event Registration”块中:document.addEventListener('deviceready', function () { if (navigator.notification) { // Override default HTML alert with native dialog window.alert = function (message) { navigator.notification.alert( message, // message null, // callback "Workshop", // title 'OK' // buttonName );
};
}
}, false);测试应用程序:点击help按钮。
单元6. 避免300ms的点击延迟:
测试你的应用程序:点击Help按钮,注意对话框弹出的延迟时间。
这个延迟的出现是因为操作系统在等待300ms来判断用户是否要再点击按钮一次(然后处理双击事件)
再index.html中,加入下面的脚本标签:
`script src="lib/fastclick.js"></script>` `FastClick 是Financial Times的一个开源库。更多资讯在`
在app.js中,注册FastClick到deviceready event handler中。
FastClick.attach(document.body);
测试应用程序:点击Help按钮,然后可以看到消息弹出是没有延迟的。