新書推薦:
《
人格阴影 全新修订版,更正旧版多处问题。国际分析心理学协会(IAAP)主席力作
》
售價:NT$
305.0
《
560种野菜野果鉴别与食用手册
》
售價:NT$
305.0
《
中国官僚政治研究(一部洞悉中国政治制度演变的经典之作)
》
售價:NT$
286.0
《
锂电储能产品设计及案例详解
》
售價:NT$
505.0
《
首辅养成手册(全三册)(张晚意、任敏主演古装剧《锦绣安宁》原著小说)
》
售價:NT$
551.0
《
清洁
》
售價:NT$
296.0
《
组队:超级个体时代的协作方式
》
售價:NT$
352.0
《
第十三位陪审员
》
售價:NT$
245.0
|
編輯推薦: |
通过本书的学习,读者能够快速掌握使用Apache Cordova进行移动开发的方法和技巧。本书全面详细地介绍了Cordova中本地事件、设备信息、通讯录、消息提示、加速度传感器、设备传感器、音频、文件、多媒体资源、本地存储等API使用方法。*后还给出了Flappy Bird(像素鸟)游戏、新闻客户端、号码本三个项目开发案例,让读者把学到知识应用到项目实战中去,迅速掌握这个开发框架。
|
內容簡介: |
Cordova是一款优秀的移动跨平台开发框架,开发者通过它能够快速地将Web应用打包成在各个平台上运行的本地APP。
本书分3篇共16章,*篇是入门篇,包括了Cordova的小伙伴们、在安卓和iOS开发环境下的配置、对HTML 5前景的简单介绍。第二篇是基础知识篇,包含了本地事件设备信息、通讯录、加速度传感器、设备传感器、音频、文件、多媒体资源等Cordova中API的实例。第三篇是项目实战篇,包括简单的游戏(Flappy Bird)、新闻客户端,以及结合jQuery Mobile制作的号码本。
本书内容详尽、实例丰富,适合Cordova跨平台APP开发的初学者,尤其是在校学生,以及有意在互联网时代捞到*桶金的创业者。
|
關於作者: |
王亚飞,平顶山高级讲师,出版多部作品.
|
目錄:
|
目 录
第一篇 入 门 篇
第1章 初步了解Cordova 3
1.1 认识Cordova 3
1.1.1
Cordova的发展 3
1.1.2
Cordova的特色 4
1.1.3
Cordova的优势 6
1.2
Cordova的小伙伴们 7
1.2.1
jQuery Mobile 7
1.2.2
jQuery Touch 8
1.2.3
jQ iPhone UI 9
1.3 小结 9
第2章 Cordova入门 10
2.1 开发环境的搭建 10
2.1.1
安卓开发环境的搭建 10
2.1.2
iOS开发环境的搭建 17
2.1.3
Cordova的配置 19
2.2 跨平台的HTML 5 21
2.3 更好玩的CSS 3 22
2.4 完美兼容浏览器的jQuery框架 24
2.5 小结 25
第3章 开始前的准备 26
3.1
HTML 5,你真的准备好了吗 26
3.2
HTML 5的若干练习 29
3.2.1
实现渐变的背景和圆角的按钮 29
3.2.2
利用JavaScript响应用户的操作 32
3.2.3
利用CSS 3生成动画 34
3.2.4
利用JavaScript让流氓兔跑步 37
3.3 关于界面设计 39
3.4 使用jQuery
Mobile进行界面制作 42
3.5 编辑器的选择 45
3.6
Cordova中的API能干什么 46
3.7 小结 48
第二篇 基础知识篇
第4章 Cordova的本地事件 51
4.1 什么是生命周期 51
4.1.1
Activity的生命周期 51
4.1.2
通过实例体验Activity的生命周期 53
4.1.3
Cordova的生命周期 55
4.2 使用程序加载事件 57
4.3 使用被动消息事件 60
4.4 使用主动消息事件 63
4.5 小结 65
第5章 设备信息的获取 66
5.1
Cordova获取设备信息 66
5.2
device类的异常情况 68
5.3 实战:用Cordova制作一个简单的应用 69
5.3.1
界面设计及实现 69
5.3.2
为应用加入功能 73
5.4 小结 76
第6章 通讯录信息的获取 77
6.1 创建一个Contact对象 77
6.2 利用find方法查询通讯录 79
6.3
Contact对象的属性 81
6.4 联系人的创建、读取、修改和删除 84
6.5
ContactField对象的深入研究 87
6.6 小结 89
第7章 Cordova的消息提示 90
7.1
notification警告的使用 90
7.2
notification确认对话框的使用 92
7.3
notification显示可以传递变量的对话框 94
7.4
notification控制蜂鸣器和震动 96
7.5 小结 97
第8章 加速度传感器 98
8.1 获取当前的加速度 98
8.2 监视设备的加速度 100
8.3 详解acceleration对象 103
8.4 加速度传感器的使用 103
8.4.1
游戏 103
8.4.2
抽奖 104
8.4.3
更多更强大的交互 104
8.5 实战:制作马上有一切的动画 104
8.5.1
原形设计 105
8.5.2
素材准备 105
8.5.3
动画实现 106
8.5.4
最终实现 110
8.6 小结 114
第9章 设备传感器 115
9.1 利用Geolocation类获取设备地理信息 115
9.2 利用getCurrentPosition方法获取设备所在坐标
116
9.3 使用watchPosition方法监控设备的位置变化
119
9.4 设备方向的获取 122
9.5 监视设备方向的两种方法
124
9.6 小结 128
第10章 Cordova对音频的控制 129
10.1
利用Cordova播放音频的方法 129
10.2
利用pause方法暂停播放音乐 131
10.3
利用stop方法停止播放音频文件 133
10.4
获取音频文件的更多信息 135
10.5
播放指定位置的音乐 138
10.6
使用Cordova录制声音 140
10.7
释放音频资源 143
10.8
实战:制作一个简单的录音机软件 143
10.8.1
需求分析 143
10.8.2
界面实现 144
10.8.3
界面交互的实现 150
10.8.4
录音和播放功能的实现 153
10.8.5
最终的组合 155
10.9
小结 157
第11章 Cordova中的文件操作 158
11.1
使用FileReader读取文件 158
11.2
使用FileWriter编写文件 163
11.3
使用FileSystem获取文件系统信息 168
11.4
FileEntry类简介 169
11.5
DirectoryEntry类的简介 174
11.6
使用FileTransfer向服务器上传文件 178
11.7
其他与文件系统相关的类 181
11.8
小结 185
第12章 多媒体资源的捕获 187
12.1
声音的采集 187
12.2
图像信息的采集 191
12.3
视频的采集 195
12.4
鸡肋的MediaFileData对象 196
12.5
小结 197
第13章 Cordova本地存储的使用 198
13.1
HTML 5中的本地存储功能 198
13.1.1
为什么需要本地存储 198
13.1.2
HTML 5的本地存储 199
13.2
Cordova中的本地存储功能 201
13.3
数据库的使用 202
13.4
数据库内容的读取 207
13.5
键值对的使用方法 210
13.6
小结 212
第三篇 项目实战篇
第14章 打造一款类Flappy
Bird的小游戏 215
14.1
需求分析 215
14.2
模型建立 217
14.3
界面设计 219
14.4
游戏的设计和实现 223
14.4.1
像素鸟的飞行 223
14.4.2
像素鸟的跳跃和下落 225
14.4.3
碰撞检测功能 229
14.5
界面的美化 232
14.6
缺陷和不足 233
14.6.1
玩法上的缺陷 233
14.6.2
功能上的贫乏 234
14.6.3
人机交互不友好 234
14.7
小结 235
第15章 实战Cordova新闻应用 236
15.1
项目开始前的闲言碎语 236
15.2
项目需求 238
15.3
界面设计和实现 238
15.3.1
新闻列表的设计和实现 238
15.3.2
新闻内容页的实现 241
15.3.3
界面的进一步整合 246
15.4
利用Ajax获取服务器上的信息 248
15.4.1
Ajax的一个简单实例 248
15.4.2
JavaScript跨域解决方法 250
15.4.3
服务端的实现 252
15.5
让数据显示出来 256
15.5.1
新闻列表的显示 256
15.5.2
新闻内容的显示 258
15.5.3
最终的整合 259
15.6
小结 263
第16章 实战Cordova制作号码本 264
16.1
项目介绍 264
16.2
为Cordova编写插件 265
16.2.1
实现发短信的插件 265
16.2.2
为Cordova编写电话拨号插件 271
16.3
界面设计 272
16.4
界面的实现 274
16.4.1
联系人列表的实现 274
16.4.2
新建联系人界面的实现 276
16.4.3
短信编辑界面的实现 277
16.5
界面功能的实现 279
16.5.1
联系人数据的生成 279
16.5.2
页面的整合 284
16.6
最终功能的实现 289
16.7
小结 290
|
內容試閱:
|
前 言
Cordova是一款简单、易上手的移动跨平台开发框架,也是Adobe公司极力推荐的一款开发框架。它具有开发效率高、上手简单以及一次部署七大平台全部兼容等优点。遗憾的是由于国内仍然缺少一套完整的Cordova教程,使得它虽然已经被许多开发者认识,却始终难以真正推广开来。本书的出现将弥补这一遗憾。本书全面地介绍了Cordova的API使用、Cordova插件的编写方法、利用JavaScript获取信息的方法,以及Cordova与jQuery Mobile相互配合使用的方法,力求让本书的读者能举一反三,并最终实现自己的梦想。本书特色1. 内容丰富,知识全面本书采用从易到难、实例结合理论的方式进行讲解,内容几乎涉及了Cordova的各个方面。2. 循序渐进,由浅入深为了方便读者学习,本书首先介绍了一些基本常识,如什么是HTML 5以及Cordova配置等内容,然后开始使用Cordova中的API实现一些小的例子,最终过渡到真正利用Cordova实现完整的应用。3. 格式统一,讲解规范书中每个知识点都给出了详尽的操作示例供读者参考,通过实践可以使读者更清晰地了解每个知识点的细节,提高学习效率。4. 内容详尽,方便学习虽然Cordova能够实现跨平台的功能,但是目前它确实还有不够完善的地方,许多读者在学习时可能会遇到不知名的错误而导致中途放弃。本书根据作者的多年经验指出一些可能由于Cordova或者安卓系统本身的原因造成的错误,力求使读者少走弯路、高效学习。5. 案例精讲,深入剖析本书的每个知识点都是通过实例来介绍,使读者在学习每个知识点时都能够通过动手来加深印象。本书第三篇的三个项目使读者能够有机会理解到真实项目和知识点的区别,并切实掌握利用Cordova进行应用开发的精髓。本书结构本书分3篇共16章,主要章节规划如下。第一篇(第1章~第3章)入门篇在学习之前进行一些前置知识的介绍,包括:什么是Cordova、怎样使用 Cordova以及跨平台的HTML 5等内容。本篇最后总览了Cordova所提供的API,让读者在学习具体知识点之前先对Cordova有一个大概的了解。第二篇(第4章~第13章)基础知识篇介绍了Cordova中的API,包括事件管理、本地存储、音视频处理、文件管理等内容,并结合作者本人的经验给出了使用建议。第三篇(第14章~第16章)项目实战本篇学习三个利用Cordova实现的项目:Flappy Bird(像素鸟)游戏、新闻客户端、号码本,能够让读者从学习知识转化到项目实战中去,真正将所学的知识加以应用。本书读者Android、iOS移动产品开发人员HTML 5、HTML移动产品开发人员跨平台移动开发初学者有好的想法但是由于技术限制难以实现的移动产品创业者互联网个人从业者高等院校和培训机构的师生代码下载本书代码下载链接(注意数字与字母大小写)为:https:pan.baidu.coms1c2Ijwpa(密码: kkah)如果下载有问题,请联系电子邮箱booksaga@163.com,邮件主题为Cordova代码。本书作者本书第1~15章由平顶山学院的王亚飞主笔编写,新版本测试由特邀作者王洪飞完成,其他参与人员还有王立平、刘祥淼、彭霁、樊爱宛、张泽娜、曹卉、林江闽、李阳、宋阳、杨超、赵东、李玉莉、刘岩、李雷霆、韩广义等。在此感谢清华大学出版社图格事业部编辑们的辛苦工作,使本书尽早与读者见面。作者2017年6月
第 9 章 设备传感器上一章介绍了Cordova中加速度传感器的调用方法,除了加速度传感器外,Cordova也提供了对其他设备传感器的调用方法。对设备传感器的使用主要分为对地理位置的获取和方向的获取。为了能够方便开发者调用,Cordova封装了用来访问GPS信息的Geolocation类和用来访问设备方向的Compass类。
本章的主要内容有: 使用getCurrentPosition方法获取设备在当前所处的坐标位置。 利用watchPosition方法对设备所处的坐标位置进行监听。 使用getCurrentHeading方法获取设备当前的朝向。 利用watchHeading方法监听设备的朝向。9.1 利用Geolocation类获取设备地理信息GPS是现代智能手机中一个非常重要的功能,能够实现全球范围内对设备的实时定位,近几年来在一些社交应用中也经常见到它发挥作用。比如微信的摇一摇功能就利用了GPS来获取用户的地理位置。图9-1是微信利用GPS获取两用户之间距离的一个例子。图9-1 微信通过GPS计算用户之间的距离Cordova利用类Geolocation来获取设备所在地理位置的坐标。对于一些不支持GPS的设备,Geolocation类还可以借助IP地址、RFID、Wi-Fi、蓝牙的MAC地址或GSMCDMA手机ID的网络信号做出推断,以保证其兼容性。虽然基于IP地址、GSM基站等方法都可以保证返回设备所在地理位置的经度和纬度,但是这样得到的结果却不一定准确。在实际开发时仍要充分考虑到不支持GPS的设备可能存在的误差。9.2 利用getCurrentPosition方法获取 设备所在坐标在Geolocation类中,最基本的方法就是getCurrentPosition了,它的作用是通过一个Positon对象来返回设备所在的位置信息。范例9-1是使用getCurrentPosition方法的一个例子。首先在命令行执行命令添加插件:cordova plugin add cordova-plugin-geolocation。【范例9-1】使用getCurrentPosition方法获取设备位置信息。01 02 03 04 05 使用getCurrentPosition方法获取设备位置信息06 07 08 document.addEventListener"deviceready", onDeviceReady, false;09 设备加载完毕,开始获取位置信息10 function onDeviceReady {11 使用getCurrentPosition获取位置信息12 navigator.geolocation.getCurrentPositiononSuccess, onError;13 }14 function onSuccessposition {15 逐个在屏幕上显示出经度、纬度、海拔等信息16document.getElementById"Longitude".innerHTML = "经度:"position.coords.longitude;17document.getElementById"Latitude".innerHTML = "纬度:"position.coords.latitude;18document.getElementById"Altitude".innerHTML = "海拔高度:"position.coords.altitude;19document.getElementById"Accuracy".innerHTML = "精度:"position.coords.accuracy;20document.getElementById"Altitude Accuracy".innerHTML = "海拔准确度:"position.coords.altitudeAccuracy;21document.getElementById"Heading".innerHTML = "航向:"position.coords.heading;22document.getElementById"Speed".innerHTML = "速度:"position.coords.speed;23document.getElementById"Timestamp".innerHTML = "时间:"position.timestamp;24 }25 function onErrorerror {26 alert"获取位置信息失败";27 }28 29 30 .line* 此样式用于在屏幕上显示一条分割线 *31 {32 width:100%;33 height:1px;34 border:1px solid #000;35 }36 37 38 39 获取当前位置信息40
|
|