PhoneGap从入门到精通 作者:巅峰卓越 编著 出版时间:2017年版内容简介 《PhoneGap从入门到精通》以零基础讲解为宗旨,用实例引导读者学习,深入浅出地介绍了PhoneGap开发的相关知识和实战技能。《PhoneGap从入门到精通》第1篇【基础知识】主要讲解PhoneGap的基础知识和移动Web开发的步骤等内容;第2篇主要讲解与PhoneGap开发相关的核心技术和工具,包括HTML5、CSS、jQuery Mobile及PhoneGap事件等内容;第3篇【核心内容】主要讲解应用、通知、设备、网络连接、加速计、地理位置、指南针、照相机、采集、媒体、通讯录、数据存储、文件操作及PhoneGap插件等内容:第4篇【综合实战】通过电话本管理系统和RSS订阅系统两个实战案例,介绍了完整的移动Web开发流程。《PhoneGap从入门到精通》所附DVD光盘中,包含了与图书内容全程同步的教学录像。此外,还赠送了大量相关学习资料,以便读者扩展学习。《PhoneGap从入门到精通》适合任何想学习PhoneGap开发的读者。无论是否从事计算机相关工作,是否接触过PhoneGap,读者均可通过本书的学习快速掌握PhoneGap开发的方法和技巧。目录第0章 移动Web开发学习指南 1本章教学录像:26分钟移动Web程序是指能够在智能手机、平板电脑、电子书阅读器等可移动设备中完整运行的Web程序。和传统桌面式Web程序相比,移动Web要求程序更加简单、高效,而且具备传统桌面Web程序所没有的硬件优势,例如GPS定位、传感器应用等。本章将简要介绍开发移动Web应用程序的基础知识,以便为读者步入本书后面知识的学习打下基础0.1 Web标准开发技术 20.1.1 结构化标准语言 20.1.2 表现性标准语言 20.1.3 行为标准 20.2 移动Web开发概览 30.2.1 主流移动平台介绍 30.2.2 移动Web的特点 50.2.3 设计移动网站时需要考虑的问题 60.2.4 主流移动设备屏幕的分辨率 60.2.5 使用标准的HTML、CSS和JavaScript技术 70.3 移动Web开发必备技术 70.4 移动Web学习路线图 80.5 PhoneGap学习路线图 9第1篇 基础知识第 1章 PhoneGap基础 12本章教学录像:31分钟PhoneGap是基于HTML、CSS和JavaScript的技术,是一个创建跨平台移动应用程序的快速开发平台。PhoneGap使开发者能够利用iPhone、Android、Palm、Symbian、WP7、Bada和Blackberry等智能手机的核心功能,包括地理定位、加速器、联系人、声音和振动等。此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。本章将详细讲解PhoneGap的基础知识,为读者步入本书后面知识的学习打下基础。1.1 PhoneGap简介 131.1.1 什么是PhoneGap 131.1.2 背景介绍 131.1.3 PhoneGap的发展历程 141.1.4 PhoneGap的主要功能 141.1.5 PhoneGap的发展现状 151.1.6 PhoneGap优点和缺点分析 151.2 PhoneGap API基础 181.3 PhoneGap的工作 191.4 PhoneGap开发必备技术 191.4.1 Titanium框架 191.4.2 Adobe AIR技术 201.4.3 Corona库 211.4.4 常用的JavaScript移动UI框架 211.5 高手点拨 221.6 实战练习 22第2章 使用PhoneGap开发移动Web应用 23本章教学录像:22分钟在充分了解PhoneGap的重要性和具体功能之后,本章将详细讲解使用PhoneGap开发移动Web应用程序的基础知识,以带领读者进入PhoneGap框架开发的学习阶段。2.1 使用PhoneGap进行移动Web开发的步骤 242.2 搭建PhoneGap开发环境 242.2.1 准备工作 242.2.2 获得PhoneGap开发包 252.3 搭建Android开发环境 312.3.1 安装Android SDK的系统要求 312.3.2 安装JDK 312.3.3 获取并安装Eclipse和Android SDK 362.3.4 安装ADT 382.3.5 设定Android SDK Home 402.3.6 验证开发环境 412.3.7 实战演练—创建Android虚拟设备 422.3.8 实战演练—启动AVD模拟器 442.3.9 实战演练—在Android平台创建基于PhoneGap的程序 452.4 搭建iOS开发环境 522.4.1 搭建前的准备—加入iOS开发团队 522.4.2 安装Xcode 542.4.3 创建一个Xcode项目并启动模拟器 582.5 综合应用—在iOS平台创建基于PhoneGap的程序 622.6 高手点拨 652.7 实战练习 66第2篇 必备技术第3章 HTML5技术初步 68本章教学录像:42分钟HTML5是文本标记语言HTML的最新版本,其提供了一些新的元素和属性。除了原先的DOM接口外,HTML5还增加了更多API。本章将详细讲解HTML5的基础知识,特别是新特性方面的知识。3.1 HTML5简介 693.1.1 发展历程 693.1.2 HTML5的吸引力 693.2 视频处理 703.2.1 video标记概述 703.2.2 autoplay 属性实战—自动播放一个视频 713.2.3 controls属性实战—控制播放的视频 733.2.4 height属性实战—设置播放视频的高度 743.2.5 其他属性 753.3 音频处理 763.3.1 audio标记概述 763.3.2 autoplay属性实战—自动播放一个音频 773.3.3 controls属性实战—控制播放的音频 783.3.4 loop 属性实战—循环播放音频 793.3.5 其他属性 803.4 Canvas画布处理 813.4.1 Canvas标记介绍 813.4.2 HTML DOM Canvas 对象 813.4.3 实战演练—实现坐标定位 823.4.4 实战演练—在指定位置画线 843.4.5 实战演练—绘制一个圆 843.4.6 实战演练—用渐变色填充一个矩形 853.4.7 实战演练—显示一幅指定的图片 863.5 Web数据存储 883.5.1 Web存储简介 883.5.2 HTML5中Web存储的意义 883.5.3 localStorage存储实战—显示访问页面的统计次数 883.5.4 sessionStorage 存储实战—显示访问页面的统计次数 903.6 表单的新特性 913.6.1 全新的Input 类型 913.6.2 全新的表单元素 953.6.3 全新的表单属性 973.7 综合应用—制作一个颜色滑动控制器 1033.8 高手点拨 1053.9 实战练习 105第4章 CSS基础 107本章教学录像:40分钟CSS(层叠式样式表)是Cascading Style Sheet的缩写,中文名称为样式表,是W3C组织制定的、控制页面显示样式的标记语言。本章将详细讲解CSS技术的基础知识。4.1 体验CSS的功能 1084.2 基本语法 1094.3 使用选择符 1104.3.1 选择符的种类 1104.3.2 实战演练—使用ID选择符设置文字颜色 1124.4 CSS属性 1134.5 几个常用值 1154.5.1 颜色单位 1154.5.2 长度单位 1174.5.3 百分比值 1184.5.4 URL统一资源定位符 1184.5.5 URL默认值 1194.6 在网页中使用CSS 1194.6.1 页面调用CSS方式 1194.6.2 通用优先级实战 1224.6.3 类型选择符和类选择符实战 1234.6.4 ID选择符实战 1244.6.5 最近优先原则实战 1254.7 CSS的编码规范 1274.7.1 书写规范 1274.7.2 命名规范 1284.8 CSS调试 1284.8.1 设计软件调试 1294.8.2 继承性和默认值带来的问题 1294.9 综合应用—实现精致、符合标准的表单页面 1314.10 高手点拨 1334.11 实战练习 134第5章 jQuery Mobile基础 135本章教学录像:37分钟jQuery Mobile具有一些独一无二的重要特征。本章将讲解jQuery Mobile的基础语法知识和具体用法。5.1 jQuery Mobile简介 1365.1.1 jQuery简介 1365.1.2 jQuery Mobile的特点 1365.1.3 对浏览器的支持 1375.1.4 对平台的支持 1385.2 jQuery Mobile的特性 1395.2.1 跨所有移动平台的统一UI 1395.2.2 简化的标记驱动的开发 1395.2.3 渐进式增强 1395.2.4 响应式设计 1405.3 获取jQuery Mobile 1405.3.1 下载插件 1415.3.2 使用URL方式加载插件文件 1425.4 页面结构 1435.4.1 实战演练—使用基本框架 1435.4.2 实战演练—使用多页面模板 1465.4.3 实战演练—设置内部页面的标题 1485.5 导航链接处理 1505.5.1 实战演练—设置外部页面链接 1515.5.2 实战演练—设置页面后退链接 1535.6 使用Ajax修饰导航 1545.6.1 实战演练—使用Ajax驱动导航 1545.6.2 使用函数changePage() 1575.7 综合应用—开发一个移动版Ajax网页 1595.8 高手点拨 1655.9 实战练习 166第6章 PhoneGap事件详解 167本章教学录像:29分钟在PhoneGap开发应用中,事件是其他PhoneGap API的基础,在事件监听器中,包含了调用其他API的功能函数。本章将详细讲解PhoneGap所独有的事件列表,而不讨论传统网页元素所能触发的事件。6.1 PhoneGap的事件列表 1686.2 deviceready事件详解 1696.2.1 deviceready事件基础 1696.2.2 实战演练—使用deviceready 事件 1706.3 pause事件和resume事件 1726.3.1 实战演练—使用pause事件 1726.3.2 实战演练—使用resume事件 1736.4 online事件和offline事件 1766.4.1 实战演练—使用online事件 1766.4.2 实战演练—使用offline事件 1786.5 batterycritical、batterylow和batterystatus事件 1796.5.1 使用batterycritical事件 1796.5.2 使用batterylow事件 1806.5.3 实战演练—使用batterystatus事件 1816.6 backbutton事件 1856.7 使用searchbutton事件 1866.8 使用其他事件 1876.8.1 使用menubutton事件 1876.8.2 使用startcallbutton事件 1886.8.3 使用endcallbutton事件 1896.8.4 使用volumedownbutton事件 1906.8.5 使用volumeupbutton事件 1916.9 综合应用—监听各类PhoneGap事件 1926.10 高手点拨 1946.11 实战练习 194第3篇 核心内容第 7章 应用和通知API详解 196本章教学录像:17分钟在PhoneGap开发应用中,API是整个框架的核心内容,有助于实现常见的移动Web应用。本章将讲解PhoneGap中的应用API和通知API的基础知识。7.1 应用API 1977.1.1 白名单安全机制 1977.1.2 访问对象的方法 1977.2 Notification通知 1987.2.1 主要对象 1997.2.2 实战演练—使用notification.alert()方法 1997.2.3 实战演练—使用notification.confirm()方法 2017.2.4 实战演练—使用notification.beep()方法 2037.2.5 实战演练—使用notification.vibrate()方法 2057.2.6 实战演练—使用活动指示器和进度对话框通知 2077.3 综合应用—演示各种API的基本用法 2107.4 高手点拨 2177.5 实战练习 218第 8章 设备、网络连接和加速计API详解 219本章教学录像:16分钟本章将详细讲解PhoneGap中的设备、网络连接和加速计API的相关知识。8.1 设备API 2208.1.1 主要对象 2208.1.2 使用device.name()方法 2208.1.3 使用device.phonegap()方法 2218.1.4 使用device.platform()方法 2218.1.5 使用device.uuid()方法 2228.1.6 使用device.version()方法 2238.1.7 实战演练—使用设备API 2238.2 网络连接API 2248.2.1 属性和常量 2248.2.2 实战演练—检测当前网络状况 2258.3 加速计API 2278.3.1 使用acceleration对象 2278.3.2 实战演练—使用getCurrentAcceleration获取加速度 2288.3.3 实战演练—使用watchAcceleration获取加速度 2308.3.4 实战演练—使用clearWatch清除加速度 2328.4 综合应用—实现一个蓝牙控制器 2348.5 高手点拨 2538.6 实战练习 254第9章 地理位置API详解 255本章教学录像:26分钟在现实应用中,很多智能手机都拥有GPS功能。PhoneGap应用专门提供了地理位置API来实现GPS位置定位功能。本章将详细讲解地理位置API的相关知识。9.1 地理位置基础 2569.1.1 应用背景 2569.1.2 Geolocation接口介绍 2569.2 Geolocation对象详解 2579.2.1 实战演练—使用Position对象 2579.2.2 PositionError对象 2599.2.3 实战演练—使用Coordinates对象 2609.3 地理位置API的参数 2629.3.1 geolocationSuccess 2629.3.2 geolocationOptions 2629.4 操作方法 2639.4.1 实战演练—获取设备当前的地理位置信息 2639.4.2 实战演练—定期获取设备的地理位置信息 2669.4.3 实战演练—取消定期获取设备的地理位置信息 2689.4.4 实战演练—使用Geolocation 2709.5 综合应用—联合使用Geolocation和百度地图实现定位功能 2729.6 高手点拨 2759.7 实战练习 276第10章 指南针API详解 277本章教学录像:19分钟在现实应用中,智能手机中的指南针功能可以确保我们在行程之中不会迷失方向。在PhoneGap应用中,专门提供了指南针API来实现方向定位功能。本章将详细讲解指南针API的相关知识和具体用法。10.1 指南针API的对象 27810.1.1 CompassHeading对象 27810.1.2 CompassError对象 27810.1.3 onSuccess函数 27810.1.4 CompassOptions对象 27910.2 指南针API中的函数 27910.2.1 实战演练—获取设备当前的指南针信息 27910.2.2 实战演练—定期获取设备的指南针信息 28110.2.3 实战演练—取消定期获取设备的指南针信息 28310.2.4 实战演练—获取罗盘的朝向度数 28610.2.5 实战演练—停止对罗盘的监听 28810.3 综合应用—实现一个移动版指南针 29010.4 高手点拨 29610.5 实战练习 296第11章 照相机API详解 297本章教学录像:27分钟很多智能手机都具有多媒体功能,例如相机、视频、音乐、录像等,以适应用户的需要。在PhoneGap应用中,专门提供了针对相机应用的API,即Camera。本章将详细讲解Camera的相关知识。11.1 照相机API的函数 29811.1.1 函数camera.getPicture() 29811.1.2 cameraSuccess 30011.1.3 cameraError 30111.1.4 实战演练—在网页中触发照相机 30111.2 业务操作 30311.2.1 业务操作基础 30411.2.2 实战演练—使用照相机API 30511.3 综合应用—实现拍照并设置为头像功能 30811.4 综合应用—实现拍照并查看相册功能 31311.5 高手点拨 31611.6 实战练习 316第12章 采集API详解 317本章教学录像:21分钟PhoneGap相关应用专门提供了针对多媒体信息采集的API,即Capture。本章将详细讲解采集API—Capture的相关知识。12.1 主要对象 31812.1.1 Capture对象 31812.1.2 CaptureAudioOptions对象 31812.1.3 CaptureImageOptions对象 31912.1.4 CaptureVideoOptions对象 31912.1.5 CaptureCB函数 32012.1.6 CaptureErrorCB函数 32012.1.7 ConfigurationData对象 32112.1.8 MediaFile对象 32112.1.9 MediaFileData对象 32112.2 主要方法 32212.2.1 实战演练—使用capture.captureAudio()方法 32212.2.2 实战演练—使用capture.captureImage()方法 32412.2.3 MediaFile.getFormatData()方法 32712.3 综合应用—Video视频采集器 32712.4 高手点拨 33012.5 实战练习 330第13章 媒体API详解 331本章教学录像:20分钟PhoneGap应用专门提供了针对多媒体应用的API,即Media。在本章的内容中,将详细讲解Media的相关知识。13.1 主要参数 33213.2 主要方法 33213.2.1 实战演练—使用media.getCurrentPosition()方法 33313.2.2 实战演练—使用media.getDuration()方法 33613.2.3 实战演练—使用play()方法 33913.2.4 media.pause()方法 34213.2.5 media.release()方法 34313.2.6 实战演练—使用media.startRecord()方法 34613.2.7 media.stop()方法 34813.2.8 media.stopRecord()方法 35113.3 综合应用—播放本地视频 35413.4 高手点拨 35813.5 实战练习 358第14章 通讯录API详解 359本章教学录像:27分钟在现实应用中,无论是智能手机还是非智能手机,都具有通讯录功能,通过通讯录能够快速找到联系人的信息。PhoneGap应用专门提供了针对通讯录的API,即Contacts。本章将详细讲解通讯录API的相关知识。14.1 主要对象 36014.1.1 实战演练—使用Contact对象 36014.1.2 实战演练—使用ContactName对象 36414.1.3 实战演练—使用ContactField对象 36714.1.4 实战演练—使用ContactAddress对象 37014.1.5 ContactOrganization对象 37214.1.6 ContactFindOptions对象 37414.2 包含的方法 37614.2.1 实战演练—查找联系人方法 37614.2.2 创建联系人 37814.2.3 保存联系人 37914.2.4 删除联系人 37914.3 综合应用—创建一个简易的Web版通讯录 38014.4 高手点拨 38714.5 实战练习 388第15章 数据存储API详解 389本章教学录像:18分钟在现实应用中,无论是智能手机还是非智能手机,都需要具备数据存储功能。通过此功能,多种信息可被存储为本地数据。PhoneGap应用专门提供了实现数据存储应用的API,即Storage。本章将详细讲解Storage的相关知识。15.1 主要对象 39015.1.1 Database对象 39015.1.2 SQLTransaction对象 39215.1.3 SQLResultSet对象 39415.1.4 SQLResultSetList对象 39615.1.5 SQLError对象 39715.1.6 localStorage对象 39715.2 主要方法 39915.3 综合应用—实现数据操作处理 40015.4 高手点拨 40515.5 实战练习 406第16章 文件操作API详解 407本章教学录像:34分钟在PhoneGap应用中,文件API是File,其提供了操作任意格式文件的功能,用于处理那些不适合数据库的用户场景。本章将详细讲解文件API的相关知识。16.1 主要对象 40816.1.1 DirectoryEntry对象 40816.1.2 DirectoryReader对象和File对象 40816.1.3 FileEntry对象 40916.1.4 FileReader对象 40916.1.5 实战演练—使用FileSystem对象 41016.1.6 FileTransfer对象 41216.1.7 FileUploadOptions对象和FileUploadResult对象 41416.1.8 实战演练—使用FileWriter对象 41416.1.9 Flags对象 41816.1.10 LocalFileSystem对象 41816.1.11 Metadata对象 42016.2 主要方法 42016.2.1 方法entry.getMetadata() 42016.2.2 方法entry.moveTo() 42116.2.3 方法entry.copyTo() 42216.2.4 方法entry.toURI() 42316.2.5 方法entry.remove() 42316.2.6 方法entry.getParent() 42316.2.7 方法entry.createReader()和方法entry.getDirectory() 42416.2.8 方法entry.getFile() 42416.2.9 方法entry.removeRecursively() 42516.2.10 方法readEntries() 42616.2.11 方法entry.createWriter() 42616.2.12 实战演练—使用方法ReadAsDataURL()和方法ReadAsText() 42716.2.13 方法upload() 42916.2.14 实战演练—使用方法download() 43116.3 综合应用—实现拍照并上传功能 43416.4 高手点拨 43916.5 实战练习 440第17章 PhoneGap的插件 441本章教学录像:20分钟在现实开发应用中,利用PhoneGap开发设计更加复杂的移动Web应用时,前面讲解的知识就难以胜任了,这时候我们可以尝试插件。本章将详细讲解PhoneGap插件的相关知识。17.1 PhoneGap插件基础 44217.2 使用PhoneGap插件 44317.2.1 ChildBrowser插件介绍 44317.2.2 实战演练—使用ChildBrowser插件 44317.3 实现PhoneGap插件 44817.3.1 编写前的准备 44817.3.2 实战演练—编写PhoneGap插件 44817.3.3 将PhoneGap嵌入到iOS程序中 45417.4 常用的PhoneGap插件 45517.4.1 NativeControls插件 45517.4.2 WebGL插件 45717.5 综合应用—使用插件实现弹出软键盘效果 45717.6 综合应用—调用二维码扫描插件 46417.7 实战练习 474第4篇 综合实战第 18章 电话本管理系统 476本章教学录像:16分钟经过本书前面内容的学习,读者已经掌握了使用PhoneGap框架开发移动Web程序的基础知识。在本章的内容中,我们将综合运用前面所学的知识,并结合使用HTML5、CSS3和JavaScript技术,开发一个在移动平台运行的电话本管理系统。希望读者认真阅读本章内容,仔细品味HTML5+jQuery Mobile+PhoneGap组合在移动Web开发领域的真谛。18.1 需求分析 47718.1.1 产生背景 47718.1.2 功能分析 47718.2 创建Android工程 47818.3 实现系统主界面 47918.4 实现信息查询模块 48118.5 实现系统管理模块 48318.6 实现信息添加模块 48718.7 实现信息修改模块 48918.8 实现信息删除模块和更新模块 492第19章 RSS订阅系统 493本章教学录像:13分钟RSS(Really Simple Syndication,简易信息聚合)是在线共享内容的一种简易方式,也叫聚合内容。通常在时效性比较强的内容上使用RSS订阅能更快速地获取信息,而网站提供RSS输出,有利于让用户获取网站内容的最新更新。本章综合运用前面所学的知识,详细讲解使用HTML5、CSS3、jQuery Mobile和PhoneGap等技术来开发一个Web版RSS订阅系统的方法。19.1 RSS基础 49419.1.1 RSS的用途 49419.1.2 RSS的基本语法 49419.2 SAX技术简介 49619.2.1 SAX的原理 49619.2.2 基于对象和基于事件的接口 49619.2.3 常用的接口和类 49719.3 功能介绍 50019.4 创建Android工程 50119.5 系统主界面 50219.5.1 文件头信息 50219.5.2 显示顶部导航 50319.5.3 显示城市天气信息 50319.5.4 显示订阅栏目信息 50519.6 订阅管理 51019.6.1 管理订阅 51019.6.2 添加或取消订阅 52019.7 设置功能 52119.7.1 展示系统设置功能 52119.7.2 换肤设置 52319.7.3 数目设置 52419.7.4 设置连接方式 52419.7.5 清空订阅 52519.8 RSS信息展示 52619.9 系统调试 532 上一篇: PCB设计与制作 王传清 主编 2016年版 下一篇: Producter:让产品从0到1 周楷雯 著 2017年版