概述Cordova开发的相关源码可以从官网下载http: cordova apache org ,内容为一个压缩包,包括cordova的各个模块。和 Cordova 类似的框
自定义插件

Plugman

See PhoneGap 09 使用Plugman管理Plugins - jacob的专栏 - 博客频道 - CSDN.NET

如果你使用的是以平台为中心(Platform-centered)的方法开发插件,你需要使用更底层的 Plugman 来管理插件。

安装

$ npm install -g plugman

添加插件

$ plugman --platform <ios|amazon-fireos|android|blackberry10|wp7|wp8> 
--project <directory> 
--plugin <name|url|path> [--plugins_dir <directory>] 
[--www <directory>] [--variable <name>=<value> [--variable <name>=<value> ...]]
  • --platform 指定平台。
  • --project cordova 项目的平台位置。
  • --plugin 指定插件。允许的值有以下几种:
    • name: 插件所在的目录名。该目录必须是 --plugins_dir 目录下存在的目录或者是 Cordova registry 中的插件。
    • url: 以 https:// or git:// 开头 git repo 地址,该库中必须包含 plugin.xml 文件。git 库中的内容将拷贝到 --plugins_dir 下。
    • path: 包含 plugin.xml 文件的插件路径。内容也会被拷贝到 --plugins_dir 下。
  • --plugins_dir defaults to <project>/cordova/plugins。 插件路径。
  • --www defaults to the <project>/www。 www 路径。
  • --variable 安装插件时需要指定的变量。

如:

   $ plugman install --platform ios --project /path/to/my/project --plugin /path/to/my/plugin

移除插件

$ plugman --uninstall --platform <ios|amazon-fireos|android|blackberry10|wp7|wp8> 
--project <directory> --plugin <id> [--www <directory>] [--plugins_dir <directory>]

Registry Actions

// 查找
plugman search <plugin keywords>

// 获取和设置插件镜像
plugman config set registry <url-to-registry>
plugman config get registry

// 获取插件信息
plugman info <id>

config.xml

参考:

该文件位于 app/config.xml,当调用 build 时,该文件将会被拷贝到不同的地方:

app/platforms/ios/AppName/config.xml
app/platforms/blackberry10/www/config.xml
app/platforms/android/res/xml/config.xml

使用 CLI 生成的 config.xml 默认内容为:


		
1
2
3
4
5
6
7
8
9
10
11
12

		
<widget id="com.example.hello" version="0.0.1">
<name>HelloWorld</name>
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="dev@callback.apache.org" href="http://phonegap.com">
Apache Cordova Team
</author>
<content src="index.html" />
<access origin="*" />
<preference name="disable-cursor" value="false" />
</widget>
  • widget.id 为应用的标识,widget.version 为应用版本,命名格式为 major/minor/patch
  • name 应用名称。
  • description 和 author 分别为应用描述和作者。
  • content 为应用的启用页,默认为 index.html,相对 www/下的文件路径。
  • access 可以访问的网络的白名单,参考 Whitelist Guide
  • preference 为对应到平台的特性,如 全屏 等。

全局偏好设置

所有平台都支持的特性:

  • Fullscreen 全屏,默认为false。

      <preference name="Fullscreen" value="true" />
    
  • Orientation 横屏、竖屏设置,可选值为 defaultlandscape, or portrait。默认为 default。

      <preference name="Orientation" value="landscape" />
    

多平台偏好设置

  • DisallowOverscroll(boolean,false):在用户滚动过程中,当你不想要显示任何反馈,可以将该值设置为true。适用于 Android 和 IOS。

      <preference name="DisallowOverscroll" value="true"/> 
    
  • BackgroundColor:设置背景颜色,支持32位色彩,首字节代表 alpha 通道,其他代表 RGB 通道。

    可用于 Android 和 BlackBerry,通过重写CSS可以用于所有平台,如:body{background-color:blue;}

      <preference name="BackgroundColor" value="0xff0000ff"/>
    
  • HideKeyboardFormAccessoryBar(boolean,false):在下面键盘出现是,需要隐藏工具栏,从而帮助用户从一个 form 转到另一个 form 的时候,可以将该值设置为 true。应用于 IOS 和 BlackBerry

      <preference name="HideKeyboardFormAccessoryBar" value="true"/>  
    

特征元素

如果你使用 CLI 去编译项目,你可以使用 plugin 命令启用设备 API,它不会修改顶级的 config.xml 文件,所以 <feature> 不会应用到工作流中。如果你直接工作在一个 SDK 下,并且使用特定平台的 config.xml,你可以使用 <feature> 来启用设备级别的 API 和外部插件。以下为 Android 项目指定设备 API


		
1
2
3

		
<feature name="Device">
<param name="android-package" value="org.apache.cordova.device.Device" />
</feature>

他们通常以自定义值出现在平台特定的config.xml文件中。比如,这儿有一个为android项目指明设备API的例子:


		
1
2
3

		
<feature name="Device">
<param name="android-package" value="org.apache.cordova.device.Device" />
</feature>

这个元素如何出现在 iOS 项目中:


		
1
2
3

		
<feature name="Device">
<param name="ios-package" value="CDVDevice" />
</feature>

平台元素

使用 CLI 编译应用时,有时需要制定需要制定偏好这只或者其他特殊平台的元素规格。使用 <platform> 来指定只出现在一个指定平台的 config.xml 文件中的特殊配置。比如,以下是如何指定只有 Android 使用 Fullscreen 偏好:


		
1
2
3

		
<platform name="android">
<preference name="Fullscreen" value="true" />
</platform>

Icons and Splash Screens

为所有平台或者为特殊平台指定图标和启动画面,参考 PhoneGap API Documentation

Debug

Storage

PhoneGap API Documentation

相关资料

apache/cordova项目github库

其他平台的lib和相关插件,请参考 http://git.apache.org/

其他

FAQ

Library

Tutorial

参考

关键字标签:教程CordovaCordova教程TutorialPhonegap教程

上一篇:使用 Meteor 快速开发 Web 应用程序
下一篇:最后一页