Cordova 学习笔记(一):快速开始

1.安装cordova

Cordova安装可以通过node.js从npm上获取。npm install -g cordova 通过这个命令可以安装cordova.前提是你已经安装了node.js。

2.创建一个项目

通过命令行创建一个空的cordova project.通过命令行先引导到你想创建项目的目录,然后命令:cordova create <path> .可以通过cordova help create获取完整的命令。

3.添加一个开发平台

创建完一个空项目,引导到创建的项目路径下,通过命令cordova  platform add <platform  name>创建一个你想要的平台的项目。想看cordova支持哪些平台的项目,使用命令行:cordova platform. 如:创建android平台的项目,cordova platform add android.移除可以用cordova platform remove android .

4.运行你的app

cordova run <platform name>

5.读api文档:http://cordova.apache.org/docs/en/latest/guide/overview/

6.给项目添加插件:当你创建一个默认的空项目时,没有添加任何插件,你可以根据需要,自己手动添加插件到项目中,有许多插件,包括社区小组提供的,你都可以在plugins.cordova.io看到。你可以通过命令行在仓库查找,然后添加到项目中。例如,搜索bar和code,   $ cordova plugin search bar code产生一条大小写忽略的包含2个子字符串的插件名称。添加使用命令cordova plugin add <plugin name>。比如添加device,cordova plugin add cordova-plugin-device。

常用的插件有:

$ cordova plugin add cordova-plugin-network-information

$ cordova plugin add cordova-plugin-battery-status

$ cordova plugin add cordova-plugin-device-motion

$ cordova plugin add cordova-plugin-device-orientation

$ cordova plugin add cordova-plugin-geolocation

$ cordova plugin add cordova-plugin-camera

$ cordova plugin add cordova-plugin-media-capture

$ cordova plugin add cordova-plugin-media

$ cordova plugin add cordova-plugin-file

$ cordova plugin add cordova-plugin-file-transfer

$ cordova plugin add cordova-plugin-console

7.添加app图标

可以通过通过命令行或者ADT

<icon>元素在config.xml中定义app图标。如果没有设置,默认会使用cordova的图标。

<icon src="res/ios/icon.png" platform="ios" width="57" height="57" density="mdpi" />,这些属性,只有src是必须的。density是android独有的,设置图标密度。

通过<icon src="res/icon.png" />,设置所有平台一致的图标。

你也可以通过类似下面的设置,为不同分辨率的设备设置体验更好的图标

<platform name="android">

<icon src="res/android/ldpi.png" density="ldpi" />

<icon src="res/android/mdpi.png" density="mdpi" />

<icon src="res/android/hdpi.png" density="hdpi" />

<icon src="res/android/xhdpi.png" density="xhdpi" />

</platform>

8.启动画面设置

在项目根部的 config.xml 文件中,而不是platforms中的 添加,向下面一样:

Please notice that the value of the "src" attribute is relative to the project directory and not to the www directory. You can name the source image whatever you like. The internal name in the app are determined by Cordova.

<platform name="android">

<!-- you can use any density that exists in the Android project -->

<splash src="res/screen/android/splash-land-hdpi.png" density="land-hdpi"/>

<splash src="res/screen/android/splash-land-ldpi.png" density="land-ldpi"/>

<splash src="res/screen/android/splash-land-mdpi.png" density="land-mdpi"/>

<splash src="res/screen/android/splash-land-xhdpi.png" density="land-xhdpi"/>

<splash src="res/screen/android/splash-port-hdpi.png" density="port-hdpi"/>

<splash src="res/screen/android/splash-port-ldpi.png" density="port-ldpi"/>

<splash src="res/screen/android/splash-port-mdpi.png" density="port-mdpi"/>

<splash src="res/screen/android/splash-port-xhdpi.png" density="port-xhdpi"/></platform>

<preference name="SplashScreenDelay" value="10000" />

9.配置app

通过config.xml文件。Ios和android的配置文件位置:

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

核心公共配置元素:

这是通过命令行创建的默认配置:

<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://cordova.io">

Apache Cordova Team

</author>

<content src="index.html" />

<access origin="*" />

</widget>

我的一个完整的例子:

<?xml version='1.0' encoding='utf-8'?>

<widget id="org.mjing.adroidCordova" version="0.0.2"  android-versionCode="1.2.7" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">

<preference name="loglevel" value="DEBUG" />

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

<preference name="BackgroundColor" value="0xff0000ff"/>

<feature name="Whitelist">

<param name="android-package" value="org.apache.cordova.whitelist.WhitelistPlugin" />

<param name="onload" value="true" />

</feature>

<feature name="Device">

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

</feature>

<feature name="Camera">

<param name="android-package" value="org.apache.cordova.camera.CameraLauncher" />

</feature>

<feature name="Notification">

<param name="android-package" value="org.apache.cordova.dialogs.Notification" />

</feature>

<feature name="SplashScreen">

<param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen" />

<param name="onload" value="true" />

</feature>

<feature name="NetworkStatus">

<param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager" />

</feature>

<feature name="File">

<param name="android-package" value="org.apache.cordova.file.FileUtils" />

<param name="onload" value="true" />

</feature>

<feature name="Media">

<param name="android-package" value="org.apache.cordova.media.AudioHandler" />

</feature>

<preference name="AndroidPersistentFileLocation" value="Internal" />

<allow-intent href="market:*" />

<name>FirstCordova</name>

<description>

jing.ming 的第一个cordova项目.

</description>

<author email="395404211@qq.com" href="http://http://cordova.apache.org/docs/en/latest/config_ref/index.html">

jing.ming

</author>

<platform name="android">

<icon src="res/android/aicai.png"/>

<splash src="res/android/bar3.jpg"/>

<!--   <icon src="res/android/mdpi.png" density="mdpi" />

<icon src="res/android/hdpi.png" density="hdpi" />

<icon src="res/android/xhdpi.png" density="xhdpi" /> -->

</platform>

<content src="index.html" /><!-- start page -->

<access origin="*" />

<allow-intent href="http://*/*" />

<allow-intent href="https://*/*" />

<allow-intent href="tel:*" />

<allow-intent href="sms:*" />

<allow-intent href="mailto:*" />

<allow-intent href="geo:*" />

</widget>

这里只说明android的配置:

太多了,需要的时候自己在查文档吧。

<preference name="KeepRunning" value="false"/>

<preference name="LoadUrlTimeoutValue" value="10000"/>

<preference name="SplashScreen" value="mySplash"/>

<preference name="SplashScreenDelay" value="10000"/>

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

<preference name="LoadingDialog" value="My Title,My Message"/>

<preference name="LoadingPageDialog" value="My Title,My Message"/>

<preference name="ErrorUrl" value="myErrorPage.html"/>

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

<preference name="LogLevel" value="VERBOSE"/>

<preference name="AndroidLaunchMode" value="singleTop"/>

<preference name="OverrideUserAgent" value="Mozilla/5.0 My Browser" />

<preference name="AppendUserAgent" value="My Browser" />

cordova学习-基础篇的更多相关文章

  1. Docker虚拟化实战学习——基础篇(转)

    Docker虚拟化实战学习——基础篇 2018年05月26日 02:17:24 北纬34度停留 阅读数:773更多 个人分类: Docker   Docker虚拟化实战和企业案例演练 深入剖析虚拟化技 ...

  2. [转]C++学习–基础篇(书籍推荐及分享)

    C++入门 语言技巧,性能优化 底层硬货 STL Boost 设计模式 算法篇 算起来,用C++已经有七八年时间,也有点可以分享的东西: 以下推荐的书籍大多有电子版.对于技术类书籍,电子版并不会带来一 ...

  3. ios学习基础篇一

    搜集的不错的oc学习资料 大概总结: http://my.oschina.net/luoguankun/blog/208526 详细教程: http://www.w3cschool.cc/ios/io ...

  4. Laravel学习基础篇之--路由

    终于还是决定再多学一门重量级框架,当然首选必备还是被称为最优雅的Web开发框架--Laravel 对于框架的入门,首先了解它的路由规则是先前必备的,以下是laravel 中几种常见的基础路由规则 // ...

  5. Flume搭建及学习(基础篇)

    转载请注明原文出处:http://www.cnblogs.com/lighten/p/6830439.html 1.简介 该文主要是翻译官方的相关文档,源地址点击这里.介绍一下Flume的一些基本知识 ...

  6. Bat 脚本学习 (基础篇)

    [转]Bat 脚本学习 2015-01-05 14:13 115人阅读 评论(0) 收藏 举报 基础部分: ============================================== ...

  7. Python ( 学习 基础篇第一部 )

    目录 注释 注释的分类 注释的注意点 变量 变量的概念 变量的声明 变量的命名 变量的交换 变量的缓存机制 常量 进制 进制的转换 原码 反码 补码 六大数据类型 Number 的四大类 字符串 st ...

  8. [性能测试] locust学习-基础篇

    在本文中,我将介绍一个名为Locust的性能测试工具.我将从Locust的功能特性出发,结合实例对Locust的使用方法进行介绍. 概述 Locust主要有以下的功能特性: 在Locust测试框架中, ...

  9. R语言学习-基础篇

    从五月10日开始自学R in action,将我的学习所得逐渐发布在博客上. chapter1.新手上路 工作空间:存储着所有用户定义的对象(向量,矩阵,函数,数据框,列表): 当前的工目录保存是R用 ...

随机推荐

  1. finally是否执行?finally何时执行?

    一.finally是否执行: 1.只有与 finally 相对应的 try 语句块得到执行的情况下,finally 语句块才会执行当finally 相对应的 try 语句块之前,已经抛出错误,或者已经 ...

  2. Yii框架(一)

    这里接触了 MVC 设计模式中的控制器和视图部分. 创建了一个操作作为控制器的一部分去处理特定请求. 然后又创建了一个视图去构造响应内容. 在这个小例子中,没有模型调用,唯一涉及到数据的地方是 mes ...

  3. Java_SQL_类型对应_资料

    1.http://argel-lj.iteye.com/blog/1183123 2.http://www.fx114.net/qa-119-110105.aspx JDBC 的"类型&qu ...

  4. Java网络编程学习A轮_02_抓包分析TCP三次握手过程

    参考资料: https://huoding.com/2013/11/21/299 https://hpbn.co/building-blocks-of-tcp/#three-way-handshake ...

  5. VS2017 MVC项目,新建控制器提示未能加载文件或程序集“Dapper.Contrib解决方法

    VS2017中MVC项目中,右键新建控制器时,提示 未能加载文件或程序集“Dapper.Contrib, Version=1.50.0.0, Culture=neutral, PublicKeyTok ...

  6. constructor&object 的联系与对比

    构造函数与对象 构造函数是类中的特殊成员函数,用于为对象分配内存.它可用于为数据成员提供值.创建对象时将调用构造函数.它与类具有相同的名称.构造函数不返回任何值. 构造函数是生成对象的模板,一个构造函 ...

  7. 快速切题 sgu 112. a^b-b^a 大数 次方 难度:0 非java:1

    112. a^b-b^a time limit per test: 0.25 sec. memory limit per test: 4096 KB You are given natural num ...

  8. 【nyoj-1233】差值

    描述 输入一个整数数组,将它们连接起来排成一个数,找出能排出的所有数字中最大,最小的两个,输出两个数的差值.例如输入数组{1,  2},则输出9.     输入 第一行输入一个整数T,表示有T组测试数 ...

  9. 基于IDEA和Maven的SSM分层项目搭建

    前言 虽然现在SpringBoot开始流行,但是SSM作为一个经典框架,还是有必要去了解一下. 项目建立 1.新建一个空白的Maven项目,如下图.然后把IDEA自动生成的多余src目录删掉. 2.右 ...

  10. PHP工作笔记:Yii2框架设置页面的关键词和描述

    因为都是做系统,很少用到这个设置,标题也是自动生成的,我们公司网站也没有关键词和描述,这样不利于网站获取相关排名. 设置方式: 直接在视图层做如下设置 $this->title = " ...