-
Cordova 3.x入门
收藏Apache Cordova 3.x(aka PhoneGap)的基础知识、实用插件、源码分析、实例开发。
最近更新文章
Cordova 3.x 入门 - 目录
这个系列是基于Cordova 3.x的,很多Android的东西都是Eclipse ADT+Ant的,而目前Android的开发已经完全切换到了Android Studio+Gradle,需要大家特别注意!Cordova在不断 ...
Cordova 3.x 实用插件(6) -- 检查APP是否被安装
应用中经常要启动其他应用,比如:打开市场为自己的应用打分、强制用户更新应用、强制Chrome打开网页等等。在调用之前,你有必要知道要调用的应用是否在机器上已经安装。(很多通过URL Scheme启动的应用如果没有安装的话就没有任何提示)
这个插件很小,也很简单,但是还是比较实用的。在Android环境下它通PackageManager来检查ID是否存在,在iOS环境下通过canOpenURL检查机 ...
Cordova 3.x 实用插件(5) -- 通过自定义URL Scheme启动你的APP
通过URL Scheme来启动APP是一种很常见的做法,比如:
系统程序:
tel:1-408-555-5555
sms:1-408-555-1212
mailto:frank@wwdcdemo.example.com
应用市场:
Google Play
market://details?id=your.package.name
Amazon Appstore
amzn://apps/andro ...
Cordova 3.x 源码分析(7) -- CordovaLib概要
在http://rensanning.iteye.com/blog/2020843已经介绍过通过Cordova CLI创建Cordova工程。
Cordova生成的Android工程主要来自于以下目录:
引用C:\Documents and Settings\RenSanNing\.cordova\lib\android\cordova\3.4.0\bin\templates\project
其中 ...
Cordova 3.x 源码分析(6) -- cordova.js本地交互JS<->Native
src/android/android/nativeapiprovider.js JS->Native的具体交互形式
// file: src/android/android/nativeapiprovider.js
define("cordova/android/nativeapiprovider", function(require, exports, module) ...
Cordova 3.x 源码分析(5) -- cordova.js导入、初始化、启动、加载插件
执行cordova.js的入口就以下2行代码:
// 导入cordova
window.cordova = require('cordova');
// 启动处理
require('cordova/init');
src/cordova.js 事件的处理和回调,外部访问cordova.js的入口
其中第一步是加载整个模块系统和外部访问cordova.js的入口,基于事件通道提供了整体的事件 ...
Cordova 3.x 源码分析(4) -- cordova.js事件通道pub/sub
作为观察者模式(Observer)的一种变形,很多MV*框架(比如:Dojo、Backbone.js)中都提供发布/订阅模型来对代码进行解耦。cordova.js中也提供了一个自定义的pub-sub模型,基于该模型提供了一些事件通道,用来控制通道中的事件什么时候以什么样的顺序被调用,以及各个事件通道的调用。
src/common/channel.js的代码结构也是一个很经典的定义结构(构造函数、实 ...
Cordova 3.x 源码分析(3) -- cordova.js模块系统require/define
类似于Java的package/import,在JavaScript中也有类似的define/require,它用来异步加载module化的js,从而提高运行效率。
define 定义注册一个module
require 加载使用一个module
模块化加载的必要性,起源于nodejs的出现。但是JavaScript并没有内置模块系统,所以就出现了很多规范。
主要有2种:CommonJS和AMD(A ...
Cordova 3.x 源码分析(2) -- cordova.js概要
前提环境:
引用Platform: android
Version: 3.4.0
(1)cordova.js/cordova_plugins.js文件
cordova.js在创建Android工程的时候,是从cordova的lib目录下Copy到platforms\android\assets\www\cordova.js的。同时备份到platforms\android\platform_www ...
Cordova 3.x 源码分析(1) -- Cordova CLI
(1)Node.js的使用
Cordova CLI基于node.js,所以有必要知道nodejs最基本的知识。
// define:1个module1个js文件
exports.printFoo = function(){ return "foo" }
// import
var foo = require('./foo.js');
// call
console.lo ...
Cordova 3.x 实用插件(4) -- Android的SEND、VIEW、CALL(WebIntent)
插件地址:https://github.com/Initsogar/cordova-webintent
(1)创建工程
引用cordova create HelloWebIntent com.rensanning.cordova HelloWebIntent
cd HelloWebIntent
cordova platform add android
(2)安装plugin
引用cordov ...
Cordova 3.x 基础(16) -- slides & books
Cordova(aka PhoneGap) 3.x Fundamentals
Cordova APIs and instruments
Apache Cordova 3 Programming
Source code from Apache Cordova 3 Programming
Apache Cordova API Cookbook
Source code for Apache ...
Cordova 3.x 实用插件(3) -- 社交分享SocialSharing
插件地址:https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin
(1)创建工程
引用cordova create HelloSocialSharing com.rensanning.cordova HelloSocialSharing
cd HelloSocialSharing
cordova platform add ...
Cordova 3.x 实用插件(2) -- 二维码Barcode
引用这个插件采用的是开源版的zxing,如果性能、识别率不满足需求的话,建议使用Scandit,它提供了Community SDK,并且支持Platforms(iOS/Android)、Frameworks(Titanium/Xamarin/Phonegap/Worklight)。其中Community版的支持UPC-A / UPC-E、EAN8 / EAN13、QR Code。
插件地址:htt ...
Cordova 3.x 实用插件(1) -- Google地图Maps
插件地址:https://github.com/wf9a5m75/phonegap-googlemaps-plugin/
(1)创建工程
引用cordova create HelloMap com.rensanning.cordova HelloMap
cd HelloMap
cordova platform add android
(2)创建Google Play Services的lib
引 ...
Cordova 3.x 基础(15) -- 云端Cordova (Cloud-based Build Services)
通过Web界面上传HTML/CSS/Javascript源代码后,在云环境(ICE)中把这些代码转换成不同平台的app。以下简单试用了一下PhoneGap Build、AppBuilder、Appery.io、Monaca、SAE云窗调试器等5个服务。
编译出来的APK文件除过Monaca获取的权限太多无法安装、SAE云窗调试器只是调试工具,基本都能够很好的实现自动化编译。
Appery.io编 ...
Cordova 3.x 基础(14) -- 使用Hooks自定义build过程
Hooks本身是一些脚本代码,可以使用任何语言(比如:nodejs、shell等),用来自定义Cordova CLI命令,位于Cordova项目的根目录hooks文件夹下。主要目的是扩展Cordova CLI框架,在应用的build生命周期中插入自定义的build构建内容。
(1)Hooks的种类
①Module-level Hooks
面向的是扩展Cordova平台的,这个是相对比较大的项目的, ...
Cordova 3.x 基础(13) -- 为Android APK签名
Cordova 编译 Android工程的时候,调用的Android SDK的默认build过程,所以是基于Ant的。
(1)调试用APK
引用cordova build android
默认是debug模式,使用debug.keystore ...
Cordova 3.x 基础(12) -- Plugin开发
Cordova提供的功能能够满足一般应用,但是对于复杂的应用或者对性能要求比较严格的应用来说,并不是很理想的。所以就需要在某些场景下自己写代码来弥补这些不足,类似Titanium Module一样,Cordova也提供了Plugin功能。Cordova本身访问Native接口都是通过Plugin的方式提供的,可以参考官方Plugin代码,而且GitHub上也存在不少开源的Cordova Plugin ...
- 专栏创建者:rensanning
- 创建时间:2014-02-26 08:15:19
- 专栏文章数:31篇
- 专栏被浏览:607584 次
本专栏热门文章
最新评论
经测试可用,但需配置url schema 才可以,使用cordova-plugin-app-launc ...
shuiyunbing 评论了 Cordova 3.x 实用插件(5) -- 通过自定义 ...
shuiyunbing 评论了 Cordova 3.x 实用插件(5) -- 通过自定义 ...
rensanning 写道@danny.chiu @lygllylgflh测试了一下,以下代码是好用的 ...
ABC__D 评论了 Cordova 3.x 实用插件(3) -- 社交分享So ...
ABC__D 评论了 Cordova 3.x 实用插件(3) -- 社交分享So ...
为什么同样的js分享代码在Android平台上测试通过,可是在IOS平台下,却直接报异常,只有通过邮件 ...
ABC__D 评论了 Cordova 3.x 实用插件(3) -- 社交分享So ...
ABC__D 评论了 Cordova 3.x 实用插件(3) -- 社交分享So ...
请问下,如果我想我的ios应用,在中文环境下,app的名字叫“我的APP”;英文环境下叫“MY APP ...
GavinNie 评论了 Cordova 3.x 基础(5) -- 配置文件config ...
GavinNie 评论了 Cordova 3.x 基础(5) -- 配置文件config ...