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)

探索robotics-toolbox-python:从基础安装到高级机器人运动学应用

本文详细介绍了robotics-toolbox-python工具箱,从基础安装、环境配置到机器人运动学与动力学的核心应用。通过D-H参数、URDF导入和内置模型三种方式快速构建机器人模型,并演示了正逆运动学计算、关节空间与任务空间轨迹规划以及三维可视化仿真。该工具箱极大地简化了机器人算法开发流程,是进行机器人学研究和应用实践的强大工具。

i1j2k的博客 496

PhoneGap简介

PhoneGap简介。

zythy的专栏 5309

考虑风和浪的影响的旋筒帆船航线优化方法研究

针对旋筒帆船进行航线优化的实现方法,包括升阻力系数的数值模拟、升阻力系数的多元非线性回归建模、旋筒帆船6DOF摇荡运动建模分析以及考虑风、浪影响的旋筒帆船的航线优化研究。

m0_63225885的博客 1163

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

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

大雨淅淅的博客 1061

【AIGC】COT思维链:让AI学会拆解问题,像人一样思考

COT思维链的出现,为AI的发展开辟了一条新的道路。它让AI学会了像人类一样思考,将复杂问题分解成简单的步骤,并逐步推理出最终答案。希望我的引导会对你产生启发。

智兔唯新的博客 9002

NR/5G - On demand SI

NR中系统消息如MIB -可用于无线帧同步等,SIB1 -小区物理信道公共配置等,是驻留一个小区所必需获得的信息,这类系统信息小区是进行周期性广播。 在SI的配置中,系统消息分为BroadCasting和non-BroadCasting,BroadCasting类系统消息基站也是周期性进行广播的,而non-BroadCasting类系统消息则是通过一种on-demand的方式,即如果需要读取这类系统消息,那么UE需要先发送请求给基站,基站响应UE之后,再下发系统消息。 ...

6775

phonegap入门实战

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

weixin_33916256的博客 200

告别‘小爱同学’:用ESP32-S3和esp-sr SDK,从零打造一个离线语音助手(含完整代码)

本文详细介绍了如何利用ESP32-S3芯片和esp-sr SDK从零构建一个离线语音助手,涵盖硬件选型、声学设计、SDK配置及低功耗优化等关键步骤。通过实战案例和完整代码,帮助开发者实现自定义唤醒词和命令词,打造低成本、高隐私的本地语音控制解决方案。

weixin_29041195的博客 371

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

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

chht2015的博客 122

IM 系统设计:仿微信架构,Netty + Protobuf + WebSocket 如何支撑百万级长连接?

相比 JSON,Protobuf 的体积通常只有前者的 1/5 到 1/10,且解析速度快一个数量级。// 消息类型:1-登录,2-心跳,3-单聊,4-群聊,5-ACK// 发送方ID// 接收方ID// 消息内容// 时间戳// 消息唯一ID,用于去重和ACK。

BUG猿的博客 1380

探索CompletableFuture:高效异步编程的利器

随着现代软件系统的复杂性和用户需求的多样化,异步编程成为了提升系统性能和响应速度的重要手段。在Java领域,CompletableFuture作为Java 8引入的新特性,提供了强大的异步编程能力,极大地简化了多线程和并发任务的处理。本文将深入探讨CompletableFuture的基本功能和使用方法,介绍如何利用其提升程序的并发性能和代码的可维护性。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 170万+

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

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

mengyou0218的专栏 746

逻辑判断1-逻辑基础知识

判断推理学习笔记

小y的学习笔记 2132

PhoneGap从入门到精通视频教程

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

u014038124的专栏 1663

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

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

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

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

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

weixin_34191734的博客 123

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

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、付费专栏及课程。

余额充值