PhoneGap入门实战

基于第一个PhoneGap应用的详解:HTML5教程技巧 PhoneGap是一个开源的平台,它允许开发者使用标准的Web技术(如HTML5、CSS和JavaScript)创建跨平台的移动应用程序。通过PhoneGap,我们可以将Web应用打包成原生应用,并在各种移动平台上运行,如iOS、Android和Windows Phone。请记住,这只是一个入门级的示例,您可以根据自己的需求和想法进一步扩展和定制您的应用程序。上述命令将创建一个名为"myapp"的新PhoneGap项目,并将当前目录切换到该项目目录下。上述命令将使用添加的平台信息,构建相应平台的应用程序。 阅读详情

What is PhoneGap?

  PhoneGap是一个用基于HTML5的移动应用前端开发框架,使用HTML+CSS+JavaScript,再通过PhoneGap就可以快速创建APP了。

  PhoneGap能让你只使用的简单的Web技术即可获得移动设备的原生特性,如摄像头、加速器、指南针。

  PhoneGap是完全开放源代码的,你可以通过编写组件,实现任何原生设备特性的扩展。之后还可以通过PhoneGap打包APP,这样编写一次基础代码就可以将APP部署到多个移动平台上。
phonegap_what.png

优缺点

PnoneGap的优点

1.跨平台

  PhoneGap目前支持的移动平台有: Android, iOS, Windows Phone、 Windows 8、 Firefox OS、 Amazon Fire OS、 BlackBerry 10、 Ubuntu、Tizen。(还有谁比我牛呢!)

2.性价比高,开发难度低

  只要会HTML+CSS+JS,你就能开发在多达8个移动平台上运行的App, 还有比这更具性价比的技术吗?

  相信会HTML的前端的开发人员,应该是比任何其它一种开发语言的人要多得多吧。不过服务器端开发,还是要掌握一门其它语言像PHP、Java、.net、Ruby还是Python,这个就没有限制了。但是,兼容性越强的技术,成本越低,性能越差;兼容性越差的技术,成本越高,性能越好。

phonegap.png

PhoneGap的不足

1.运行效率

  PhoneGap的运行,依赖于移动设备上的内置浏览器的Webkit, 所以运行速度上自然是比原生的App慢。

2.不能支持全部的系统API

  由于要支持多平台, 所以如果一些平台上独有的API, 在PhoneGap上就有可能不能得到及时的支持。

建立项目的步骤

  前面我们已经了解了一些PhoneGap的部分内容,那怎样来建立一个PhoneGap的项目呢,我们将在这节课程中为大家来介绍。

我们可以通过命令行来创建项目。首先建立一个文件夹,然后可以通过以下命令来建立项目。例如建立一个名为project的项目,如下代码:

phonegap create project com.example.hello HelloWorld

phonegap create:创建项目的命令;
project:项目目录名称;
com.example.hello:项目内部包名;
HelloWorld:项目名称, 打包出的安装程序安装后显示的名称;

2.创建命令完成后,我们转到项目的目录下,然后添加phonegap插件,我们可以通过以下命令来添加:

phonegap plugin add <插件名称|插件地址>

例如,我们要在项目中添加网络的插件,可用如下命令:

cd project
phonegap plugin add cordova-plugin-network-information

3.PhoneGap生成android项目,我们可用以下命令:

phonegap build android

如果想运行到IOS系统,则可以用以下命令:

phonegap build ios

  经过以上三步一个PhoneGap项目就完成了,然后就可以把我们编译好的apk文件,下载到手机或模拟器来看运行效果了。

ps:本文中所讲的内容都是基于android平台。

项目

  我们就带大家来感受一下创建一个自己的phonegap程序,实现功能很简单就是点击返回按钮时,弹出“hello world”。

1.在系统中,首先转到root目录,这就是我们要创建项目的目录。如下代码:

cd /
cd root

2.转到root目录后,然后就可以通过phonegap create命令来创建项目了。我们创建一个项目名为project的项目。如下代码:

phonegap create project com.example.hello HelloWorld

创建完成后的目录结构如下:

project_step1.gif

3.创建命令完成后,我们转到project目录下,然后可以去添加要用到的插件,如网络,通讯录等。如下命令:

cd project
phonegap plugin add cordova-plugin-network-information 
phonegap plugin add cordova-plugin-contacts 

  由于所创建的项目没有用到插件,所以不用添加。

4.插件添加完成以后,就可以在创建的目录中,进入www目录下,然后对index.html进行编辑,在这里面实现点击返回按钮时,弹出“hello world”,保存文件。如下代码:

<script type="text/javascript" charset="utf-8">
    document.addEventListener("deviceready", onDeviceReady, false);
    function onDeviceReady() {
        document.addEventListener("backbutton", onBackKeyDown, false);
    }
    // 处理后退按钮操作
    function onBackKeyDown() {
        alert("hello world");
    }
</script>

5.在命令行中,通过如下命令,使我们的项目运行到android平台,并生成apk文件。如下代码:

phonegap build android

  由于我们在网络上进行编译并且是第一次,所以用时会比较长,等编译完成后,再编译就比较快了。

  好了,现在我们的第一个phonegap程序就完成了,下载到我们手机中,然后安装打开,去试一试吧。

理解事件

  事件是可以被控件识别的操作,如按下确定按钮,选择某个单选按钮或者复选框。每一种控件有自己可以识别的事件,如窗体的加载、单击、双击等事件,编辑框(文本框)的文本改变事件,等等。对于我们操作手机也是一样,点击后退按钮、按下Home键、电池电量低等等。

  事件有系统事件和用户事件。系统事件由系统激发,如时间每隔24小时,银行储户的存款日期增加一天。用户事件由用户激发,如用户点击按钮,在文本框中显示特定的文本。事件驱动控件执行某项功能。

  触发事件的对象称为事件发送者;接收事件的对象称为事件接收者。

  在本问将简单的讲解一些PhoneGap提供的一些事件的API,如deviceready、backbutton、menubutton等。

deviceready

  该事件是在PhoneGap载入完成后发生的事件,相当于程序的入口。事件的注册形式为:

document.addEventListener("deviceready", yourCallbackFunction, false);

  其中yourCallbackFunction为回调函数,我们以后要处理的操作都在这个函数里。

  通常情况下,我们希望在HTML文件的DOM加载完毕后使用document.addEventListener附加一个事件监听器。

<script type="text/javascript" charset="utf-8">
    // 当PhoneGap加载完毕后调用onDeviceReady回调函数
    // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
    // 当PhoneGap加载完毕并开始和本地设备进行通讯,
    // 就会触发“deviceready”事件。
    document.addEventListener("deviceready", onDeviceReady, false);
    // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法
    function onDeviceReady() {
    // 现在可以安全使用PhoneGap API,如后面要讲的backbutton
    alert("deviceready");
    }
</script>

  ps:该事件在每个PhoneGap程序中都会用到,必不可少的!

backbutton

  PhoneGap拦截返回键,这个功能是当用户按下返回键时事件触发。事件注册形式如下:

document.addEventListener("backbutton", yourCallbackFunction, false);

  如果需要在Android系统上重载默认返回按钮的行为,可以通过注册一个事件监听器来监听“backbutton”事件。它不再需要调用任何其他方法来重载返回按钮行为,现在只需要为“backbutton”事件注册一个事件监听器。

  通常情况下,需要在接收到PhoneGap的“deviceready”事件后,使用document.addEventListener来附加该事件监听器。

<script type="text/javascript" charset="utf-8">
    // 当PhoneGap加载完毕后调用onDeviceReady回调函数 
    // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
    // 当PhoneGap加载完毕并开始和本地设备进行通讯,
    // 会触发“deviceready”事件
    document.addEventListener("deviceready", onDeviceReady, false);
    // PhoneGap is loaded and it is now safe to make calls PhoneGap methods
    function onDeviceReady() {
    // 注册回退按钮事件监听器
           document.addEventListener("backbutton", onBackKeyDown, false);
    }
    // 处理后退按钮操作
    function onBackKeyDown() {
    //在这里面写我们自己的代码
       }
</script>

  PhoneGap拦截菜单键,这个功能是当用户按下菜单键时事件触发。事件注册形式如下:

document.addEventListener("menubutton", yourCallbackFunction, false);

  如果你需要在Android系统上重载默认菜单按钮的行为,可以通过注册一个事件监听器来监听“menubutton”事件。通常情况下,你需要在接受到PhoneGap的“deviceready”事件后,使用document.addEventListener来附加该事件监听器。

<script type="text/javascript" charset="utf-8"> 
    // 当PhoneGap加载完毕后调用onDeviceReady回调函数
    // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
    // 当PhoneGap加载完毕并开始和本地设备进行通讯,
    // 会触发“deviceready”事件
    document.addEventListener("deviceready", onDeviceReady, false);
    // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法
    function onDeviceReady() { 
    // 注册菜单按钮事件监听器
        document.addEventListener("menubutton", onMenuKeyDown, false); 
    } 
    // 处理菜单按钮操作
    function onMenuKeyDown() { 
    //在这里面写我们自己的代码
    } 
</script>   

更多的内容如通讯录、文件、媒体、通知等操作内容以及在线的练习可以访问:
http://www.hubwiz.com/course/563180221bc20c980538e8b4/

phonegap从入门到精通-配套源码 立即下载

相关推荐

跨平台开发技术-PhoneGap从入门到精通2

跨平台开发技术-PhoneGap从入门到精通(PhoneGap、罗盘、运动传感器、地理位置

PhoneGap 入门指南(四)

PhoneGap 插件是 PhoneGap 功能的扩展。它访问手机上的一项功能。插件功能可能只能访问手机的本机功能,也可能提供访问云服务的功能。JavaScript 文件本地语言文件插件的 JavaScript 文件是 PhoneGap 应用和 PhoneGap 插件之间的接口。JavaScript 文件使用 JavaScript 函数来访问插件的功能。PhoneGap 框架使用本地语言文件来与电话交互以访问本地功能。作为插件用户,我们需要将本机代码放入我们的项目结构中。

龙哥盟 1182

跨平台开发技术-PhoneGap从入门到精通6

跨平台开发技术-PhoneGap从入门到精通(PhoneGap、罗盘、运动传感器、地理位置

WebAPP-了解一下PhoneGap

0. PhoneGap介绍0.1 什么是PhoneGap?PhoneGap是一个基于HTML、CSS、JS创建跨平台移动应程序的快速开发平台。与传统Web应用不同的是,它使开发者能够利用iPhone、Android等智能手机的核心本地功能,比如GPS、传感器、震动。0.2 PhoneGap 历史09,在iosDevCamp,觉着oc太复杂,尝试使用前端技术来实现ios下的应用程序。11年,支...

laizhixue的博客 4137

phonegap-phonegap-1.6.0-0-g66780d6.zip_66780,com_PhoneGap 1.6_co

PhoneGap 1.6.0:: Prerequisite Software PhoneGap requires you have the following software installed: 1. Eclipse Integrated Design Environment (IDE), a program to write code and manage software development 2. Java Development Kit (JDK), the Java compiler and support tools 3. The Android Software Development Kit (SDK), base code and emulators for developing Android apps 4. Android Development Toolkit (ADT), a plug-in for Eclipse that makes Android development seamless 5. Apache Ant, a program that automates software build processes (similar to make ) 6. Ruby, a programming language 7. Git Bash, an alternative command program for Windows environments (Windows only)

自动驾驶开发者必看:如何用Impromptu VLA数据集提升模型在乡村道路的表现(附实战代码)

本文为自动驾驶开发者提供了利用Impromptu VLA开源数据集提升模型在乡村道路等极端场景表现的实战指南。该数据集专门针对边界模糊道路、非常规障碍物等非结构化环境,通过精选的8万多个极端场景片段,帮助模型弥补数据分布偏差。文章详细介绍了环境搭建、数据准备、模型微调及性能评估的全流程,并附有实战代码,旨在系统性提升自动驾驶系统在长尾场景下的鲁棒性。

t8u9v0w1x的博客 244

PhoneGap简介

PhoneGap简介。

zythy的专栏 5309

从赛题到实战:一份面向高职“区块链技术应用”赛项的食品溯源系统全栈部署与运维指南

本文为高职院校学生备战“区块链技术应用”技能大赛提供了一份详实的食品溯源系统全栈部署与运维指南。内容涵盖从理解赛题业务逻辑、绘制技术蓝图,到搭建4节点FISCO BCOS联盟链、部署管理平台与智能合约,再到核心运维技能与前后端联调测试的完整流程,旨在帮助参赛者将赛题转化为可运行的实战项目,全面提升区块链全栈开发与运维能力。

weixin_29172201的博客 686

从0到1上手PhoneGap,开启跨平台开发之旅

在移动应用开发的广袤天地里,PhoneGap 无疑是一颗耀眼的明星,它为开发者们打开了一扇跨平台开发的便捷之门。PhoneGap 是一款免费开源的移动应用开发框架,允许开发者使用 HTML、CSS、JavaScript 等前端技术来开发跨平台的移动应用程序。简单来说,它就像是一个神奇的翻译官,让 Web 技术能够与各种移动设备的原生功能顺畅对话。想象一下,你是一位才华横溢的开发者,接到了一个任务:开发一款同时支持 iOS 和 Android 系统的移动应用。

大雨淅淅的博客 1061

【Ablation Studies 理解】深度学习模型组件的对比实验/性能分析

Ablation Study 用于检测深度学习/机器学习模型中各部分构件对于整体的重要性。 可以理解为为:组件\tricks重要性测试、组件性能系统性分析、控制变量法、组件去除对比实验、性能敏感性测试、性能因子分析等 Ablation Studies 一些新颖的深度学习模型在论文中都会进行AblationStudy,这部分的主要意义在于系统性的移除模型中的各种组件/trick等因子或者是创新的...

TomRen 4590

BMS短路测试避坑指南:从炸管到稳定,我是如何搞定MOS管和TVS的

本文详细记录了BMS短路测试中MOS管和TVS的优化过程,从驱动电阻调整、PCB寄生参数控制到TVS选配策略,提供了一套实用的调试方法论。通过实战案例解析,帮助工程师避免常见陷阱,实现稳定可靠的短路测试性能。

weixin_30652897的博客 140

phonegap入门实战

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33916256的博客 200

Ego Planner规划算法(下)——Ego Planner程序框架

本系列文章用于学习记录Ego-Planner规划算法的相关内容,本系列文章是在在Fast Planner规划算法系列文章的基础上,展开对Ego Planner的相关介绍,主要包括Ego Planner算法流程和程序框架两部分,主要学习资料是深蓝学院的移动机器人运动规划课程

慕羽★的博客 7260

HTML5入门视频教程 + phoneGap框架实战

[@2015-1-3] 记录一下自己的脚印:看到一个HTML5入门视频教程 + phoneGap框架实战果断下载下来,看了看比较到位,下载地址:http://www.xiaomengku.com/topic?id=487这里还有跟“电子图书”相关的其它分享,可以点击:http://www.xi...

chht2015的博客 122

【DRAM存储器五十五】LPDDR5介绍--command bus training

本文详细介绍了LPDDR5命令总线训练(CBT)的两种模式操作流程。在启用ODT进行高频/中频操作前,必须对命令总线进行训练,包括调整VREF(CA)电压和CA/CS信号时序。两种模式的主要区别在于VREF(CA)设置方式:模式1通过MR12直接设置,模式2通过DMI[0]引脚捕获DQ[6:0]数据更新MR12。训练流程涉及频率切换、模式寄存器配置、pattern发送及结果采样等步骤,最终确定最佳VREF(CA)和时序参数。文章还分析了不同PHY实现可能存在的差异,如训练pattern生成方式和采样次数等。

highman110的博客 648

SAP和Oracle EBS作为全球顶级的ERP系统,在中国市场深耕数十年,尤其是在大型国企、央企和跨国企业中,已经形成了强大的用户习惯和“舒适区”依赖

国产ERP替代国际系统的关键挑战在于打破用户对SAP/Oracle的操作习惯和心理依赖。需采取多维策略:战略上明确价值主张、分阶段实施;产品上优化用户体验、确保数据迁移;实施上加强情景化培训、流程再造。成功替代70%取决于变革管理,需将"被动替换"转为"主动升级",让用户在新系统中建立更优的舒适区。

金牌架构师 384

PhoneGap视频教程_从入门到精通

跨平台开发技术-PhoneGap从入门到精通(PhoneGap、罗盘、运动传感器、地理位置) 课程分类:手机开发 适合人群:中级 课时数量:76课时 用到技术:PhoneGap、罗盘、运动传感器、地理位置、通信机制及部署和调试 涉及项目:北风动听音乐播放器,北风微博客户端 咨询qq:1840215592 课程内容简介 PhoneGap视频教程将从一个普通移动应用开发者的角度,详细地

mengyou0218的专栏 746

C# MES通信从入门到精通(1)——串口传输文件

本文详细介绍了在Mes通信领域如何使用串口发送文件,由实战经验总结,堪称MES通信领域的葵花宝典!

qq_34059233的博客 3752

PhoneGap从入门到精通视频教程

跨平台开发技术-PhoneGap从入门到精通视频教程 课程讲师:厉风行  课程分类:手机开发 适合人群:中级 课时数量:76课时 用到技术:PhoneGap、罗盘、运动传感器、地理位置、通信机制及部署和调试 涉及项目:北风动听音乐播放器,北风微博客户端 咨询QQ:1609173918 链接:http://pan.baidu.com/s/1o662bHK 密

u014038124的专栏 1663

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

android phonegap 开发教程,phonegap(Cordova) 入门教程

## phonegap前期准备整理文本格式版(内容是一样的)整理格式版补充图片内容1. node.js安装1. 下载相应的安装跑进行安装即可2. 安装phonegap1. npm install -g phonegap2. npm install -g cordova3. 生成第一个应用1. 创建一个cordova项目 phonegap create projectName package...

weixin_29911569的博客 428

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载一(PhoneGap中的

之前本博连载过《构建跨平台APP:jQuery Mobile移动应...

weixin_34191734的博客 123

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

HTML5开发框架PhoneGap实战视频教程

HTML5开发框架PhoneGap实战(jQuery Mobile开发、API解析、3个经典项目实战) 适合人群:初级课时 数量:40课时 用到技术:HTML5、jQuery Mobile、PhoneGap 涉及项目:我要地图、豆瓣音乐、小强快跑 咨询qq:1840215592 一、课程适合的对象: Java开发想要转App开发的技术达人,移动应用开发人员,有HTML和JS基础的

xiarilove的专栏 1382

Phonegap 入门

Phonegap需要入门吗?      哦,对的。任何技术都有门槛,当然PhoneGap 也不例外,好吧,先来看看官方的GetStart:For Android 1. 需求 Eclipse 3.4+ 本教程还有另外一个不使用Eclipse的版本,参照这里 。 2. 安装SDK + PhoneGap 下载并安装Eclipse C

水墨剑客的专栏 4297

PhoneGap开发手机程序入门教程

用PhoneGap开发手机移动程序   1.     什么是PhoneGap       PhoneGap是一个自由开放源码的开发工具和框架,允许利用HTML + JavaScript + CSS的强大功能在多个手机平台上开发程序,开发出来的程序经过在各自的平台上编译形成独立的安装程序。使程序看起来和native的程序一样。   2.     PhoneGap的优势和劣势

west8623的专栏 1946

PhoneGap教程:PhoneGap IOS应用开发入门

本文将讲解如何使用PhoneGap2.0及以上版本提供的命令行工具来快速创建IOS平台上的PhoneGap应用项目(Xcode项目),并在开发过程中使用这些命令进行编译和调试。如果一切顺利,在10分钟之内你就应该能够创建并在IOS设备模拟器中运行成功一个PhoneGap应用。 说明 本文基于Apache Cordova API文档中的“Command Line Usage”一节:h

现代Web前端技术 886

phonegap 开发入门

PhoneGap官方网站上有详细的入门示例教程,这里,我针对使用PhoneGap进行Android移动应用的开发对其官网的Get Started进行一些介绍、补充。 Step1、选择你想要进行开发的移动平台,点击Android图标 Step2、需要安装的软件-Eclipse3.4以上版本 Step3、安装SDK+PhoneGap (1)安装Eclipse3.4,我安装使用的为3....

adxj46627377的博客 415
上一篇: Django: 路由与视图
下一篇: jQueryMobile快速入门
Dimikart
博客等级 码龄11年 20粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值