图书目录

目    录

第1篇 基础篇

第1章  iOS系统基础 2

1.1  iOS系统介绍 2

1.1.1  iOS发展史 2

1.1.2  全新的版本--iOS 7 3

1.2  从iPhone到iPad 4

1.2.1  让世界疯狂的iPhone 4

1.2.2  改变世界的iPad 5

1.3  iOS的常用开发框架 5

1.3.1  Foundation框架简介 5

1.3.2  Cocoa框架简介 7

第2章  搭建开发环境 9

2.1  开发前的准备--加入iOS开发团队 9

2.2  安装Xcode 11

2.2.1  Xcode介绍 12

2.2.2  iOS SDK介绍 12

2.2.3  下载并安装Xcode 14

2.3  创建一个Xcode项目并启动模拟器 17

2.4  在iOS设备中测试网页 21

第3章  HTML、CSS和JavaScript 24

3.1  HTML简介 24

3.1.1  HTML初步 24

3.1.2  字体格式设置 25

3.1.3  使用标示标记 28

3.1.4  使用区域和段落标记 29

3.1.5  使用表格标记 31

3.1.6  使用表单标记 34

3.2  CSS技术基础 38

3.2.1  基本语法 38

3.2.2  CSS编码规范 39

3.3  JavaScript技术基础 40

3.3.1  JavaScript概述 41

3.3.2  JavaScript运算符 42

3.3.3  JavaScript循环语句 43

3.3.4  JavaScript函数 45

3.3.5  JavaScript事件 47

第4章  创建移动Web 50

4.1  创建能在通用设备上运行的网站 50

4.1.1  确定应用程序类型 50

4.1.2  使用CSS改善HTML外观 51

4.1.3  加入移动<meta>标记 53

4.1.4  优化网站 54

4.2  将站点升级至HTML 5 54

4.2.1  确定何时升级和升级的具体方式 54

4.2.2  升级到HTML 5的步骤 56

4.2.3  将HTML 5特性作为额外内容添加至网站 57

4.2.4  HTML 5为移动Web提供的服务 57

4.3  将Web程序迁移到移动设备 58

4.3.1  选择Web编辑器 58

4.3.2  测试应用程序 58

4.3.3  移动网站的内容特点 59

4.3.4  为移动设备调整可视化的设计 59

4.3.5  HTML 5及CSS 3检测 60

  

  

第2篇 HTML 5技术篇

第5章  HTML 5在移动设备中 64

5.1  把握未来的风向标 64

5.1.1  漫长的发展历程 64

5.1.2  无与伦比的用户体验 64

5.2  在iOS设备中使用HTML 5 65

5.2.1  使用HTML 5设计移动网站时需要

考虑的问题 66

5.2.2  主流移动设备的屏幕分辨率 66

5.2.3  使用标准的HTML、CSS和JavaScript

技术 66

5.3  使用HTML 5设计移动网站前的准备 67

5.3.1  为移动网站准备专用的域名 67

5.3.2  准备测试环境 67

第6章  HTML 5的整体架构 69

6.1  设置网页头部元素 69

6.1.1  设置文档类型 69

6.1.2  设置所有链接的默认地址或默认目标 70

6.1.3  链接标记 71

6.1.4  设置有关页面的元信息 72

6.1.5  定义客户端脚本 73

6.1.6  定义HTML文档的样式信息 73

6.1.7  设置页面标题 74

6.2  设置页面正文 75

6.3  注释 76

6.4  和页面结构相关的新元素 77

6.4.1  定义区段的标记 77

6.4.2  定义独立内容的标记 78

6.4.3  定义导航链接标记 78

6.4.4  定义所处内容之外的内容 79

6.4.5  定义页脚内容的标记 80

第7章  体验基本元素 81

7.1  在页面中输出一段文字 81

7.2  对页面进行分栏设计 82

7.3  使用details标记元素实现交互 83

7.3.1  常用属性 83

7.3.2  实现下拉弹出效果 84

7.4  使用summary标记元素实现交互 85

7.5  使用menu标记元素 86

7.5.1  属性介绍 86

7.5.2  实现右键菜单功能 87

7.6  使用command标记元素 89

7.7  使用progress标记元素 90

7.8  使用meter标记元素 92

7.9  使用树节点标记元素 94

7.9.1  section元素 94

7.9.2  nav元素 94

7.9.3  hgroup元素 94

7.10  使用分组标记元素 96

7.10.1  ul元素 96

7.10.2  ol元素 97

7.11  使用文本层次语义标记 98

7.11.1  time元素 98

7.11.2  mark元素 99

7.11.3  cite元素 99

7.12  使用图片标记元素 100

7.13  使用框架标记元素 101

7.14  使用object标记元素 102

第8章  使用表单元素 104

8.1  表单元素的类型 104

8.1.1  email类型 104

8.1.2  url类型 105

8.1.3  number类型 106

8.1.4  range类型 107

8.1.5  Date Pickers(数据检出器) 109

8.1.6  search类型 111

8.2  表单元素的属性 112

8.2.1  记住表单中的数据 112

8.2.2  验证表单中输入的数据是否合法 114

8.2.3  在文本框中显示提示信息 115

8.2.4  验证文本框中的内容是否为空 116

8.2.5  开启表单的自动完成功能 117

8.2.6  重写表单中的某些属性 118

8.2.7  自动设置表单中传递数字 119

8.2.8  在表单中选择多个上传文件 119

8.3  新的表单元素 120

8.3.1  在表单中自动提示输入文本 120

8.3.2  一个简单的乘法计算器 122

8.3.3  在网页中生成一个密钥 123

第9章  音频和视频应用 124

9.1  处理视频 124

9.1.1  使用<video>标记 124

9.1.2  <video>标记的属性 125

9.2  处理音频 128

9.2.1  <audio>标记 128

9.2.2  <audio>标记的属性 129

9.3  高级应用 131

9.3.1  为播放的视频准备一幅素材图片 131

9.3.2  显示加载视频的状态 132

9.3.3  出错时在播放屏幕中显示出错信息 133

9.3.4  检测浏览器是否支持这个媒体类型 135

9.3.5  显示视频的播放状态 137

9.3.6  显示播放视频的时间信息 138

第10章  在网页中绘图 141

10.1  使用<canvas>标记 141

10.2  HTML DOM Canvas对象 142

10.3  HTML 5绘图实践 143

10.3.1  在指定位置绘制指定角度的相交线 143

10.3.2  绘制一个圆 144

10.3.3  在画布中显示一幅指定的图片 145

10.3.4  绘制一个指定大小的正方形 145

10.3.5  绘制一个带边框的矩形 146

10.3.6  绘制一个渐变图形 148

10.3.7  绘制不同的圆形 150

10.3.8  绘制一个渐变圆形 153

10.3.9  移动、缩放和旋转网页中的圆形 155

10.3.10  使用组合的方式显示图形 156

10.3.11  使用不同的方式平铺指定的图像 158

10.3.12  切割指定的图像 160

第11章  数据存储 162

11.1  Web存储 162

11.1.1  Web存储的定义 162

11.1.2  Web存储的影响 162

11.2  HTML 5中的两种存储方式 163

11.2.1  使用localStorage方式 163

11.2.2  使用sessionStorage方式 164

11.3  数据存储对象 165

11.3.1  使用sessionStorage对象 165

11.3.2  使用localStorage对象 167

11.3.3  使用localStorage对象中的clear()方法 170

11.3.4  使用localStorage对象中的属性 172

11.4  WebDB存储方式 173

11.4.1  WebDB存储基础 173

11.4.2  执行事务操作 174

11.4.3  执行SQL语句 175

11.5  实现一个日记式事务提醒系统 177

  

  

第3篇 jQuery Mobile技术篇

第12章  jQuery Mobile基础 180

12.1  jQuery Mobile简介 180

12.1.1  jQuery介绍 180

12.1.2  jQuery Mobile的特点 181

12.1.3  对浏览器的支持 181

12.2  jQuery Mobile的四个突出特性 182

12.2.1  跨所有移动平台的统一UI 182

12.2.2  简化的标记驱动开发 182

12.2.3  渐进式增强 183

12.2.4  响应式设计 183

12.3  jQuery Mobile语法基础 184

12.3.1  页面模板 184

12.3.2  多页面模板 187

12.3.3  使用Ajax修饰导航 188

12.3.4  转换 192

12.3.5  对话框 192

12.3.6  有媒体查询的响应式布局 198

第13章  实现导航功能 200

13.1  页眉栏 200

13.1.1  页眉基础 200

13.1.2  实现页眉定位 200

13.1.3  在页眉中使用按钮 203

13.1.4  在页眉中使用分段控件 206

13.1.5  实现回退按钮效果 209

13.2  页脚栏 211

13.2.1  页脚基础知识 212

13.2.2  页脚定位 215

13.2.3  页脚按钮 216

13.3  工具栏 216

13.3.1  带有图标的工具栏 216

13.3.2  带有分段控件的工具栏 218

13.4  标签栏 220

13.4.1  带有标准图标的标签栏 220

13.4.2  永久标签栏 222

13.4.3  有自定义图标的标签栏 223

13.4.4  带有分段控件的标签栏 225

第14章  按钮 228

14.1  链接按钮 228

14.2  表单按钮 229

14.3  使用图像按钮 230

14.4  使用有图标的按钮 231

14.5  使用只带有图标的按钮 233

14.6  实现按钮定位 235

14.7  自定义按钮图标 236

14.8  使用分组按钮 239

14.9  使用主题按钮 241

14.10  使用动态按钮 242

14.10.1  按钮选项 242

14.10.2  按钮方法 243

14.10.3  按钮事件 243

14.10.4  动态按钮演练 244

第15章  表单 247

15.1  表单基础 247

15.2  在表单中输入文本 249

15.2.1  动态输入文本 251

15.2.2  文本输入选项 251

15.2.3  文本输入方法 252

15.2.4  文本输入事件 252

15.3  选择菜单 254

15.3.1  自定义选择菜单 256

15.3.2  占位符选项 258

15.3.3  动态选择菜单 258

15.3.4  选择菜单选项 258

15.3.5  选择菜单方法 260

15.3.6  选择菜单事件 260

15.4  单选按钮 263

15.4.1  单选按钮选项 264

15.4.2  单选按钮方法 265

15.4.3  单选按钮事件 265

15.5  复选框 267

15.5.1  动态复选框 267

15.5.2  使用复选框 267

15.6  使用滑动条 270

15.6.1  滑动条基础 271

15.6.2  滑动条选项 272

15.6.3  滑动条方法 273

15.6.4  滑动条事件 273

15.7  使用开关控件 275

15.7.1  开关控件基础 275

15.7.2  使用动态开关控件 277

15.8  使用本地表单元素 278

15.9  使用Mobiscroll日期选择器 282

第16章  列表 285

16.1  列表基础 285

16.2  内置列表 286

16.3  列表分割线 288

16.4  带有缩略图和图标的列表 290

16.5  使用拆分按钮列表 295

16.6  使用编号列表 297

16.7  设置列表为只读 299

16.8  使用列表徽章(计数泡) 301

16.9  使用搜索栏过滤列表 304

16.10  实现动态列表效果 307

16.10.1  列表选项 307

16.10.2  列表方法 310

16.10.3  列表事件 310

第17章  内容格式化 313

17.1  使用基本的HTML样式 313

17.2  使用表格布局 313

17.2.1  表格模板 313

17.2.2  两列表格 314

17.2.3  三列表格 316

17.2.4  带有app图标的四列表格 317

17.2.5  使用五列表格 318

17.2.6  多行表格 319

17.2.7  不规则的表格 320

17.2.8  Springboard 322

17.3  可折叠的内容块 326

17.3.1  嵌套折叠和折叠组 327

17.3.2  创建可折叠的内容块 327

17.4  折叠组标记 329

17.4.1  折叠组标记(Collapsible set markup)

基础 330

17.4.2  实战演练 330

17.5  使用CSS实现设置样式 333

17.5.1  实现背景渐变 333

17.5.2  在Mozilla浏览器实现背景渐变 335

17.5.3  实现页眉渐变效果 337

第18章  主题化 340

18.1  主题设计基础 340

18.2  主题和调色板 343

18.3  使用主题的默认值 345

18.4  继承主题 347

18.5  自定义主题 351

18.6  使用ThemeRoller 358

18.6.1  调色板和全局设置 359

18.6.2  Preview Inspector和QuickSwatch Bar 359

18.6.3  使用Adobe Kuler集成工具 360

18.6.4  使用ThemeRoller 361

第19章  jQuery Mobile API 366

19.1  配置jQuery Mobile 366

19.1.1  mobileinit事件 366

19.1.2  可配置的jQuery Mobile选项 367

19.2  方法 369

19.3  事件 378

19.3.1  触摸事件(Touch Events) 378

19.3.2  虚拟鼠标事件(Virtual Mouse Events) 379

19.3.3  设备方向变化事件(Orientation Change 

Events) 380

19.3.4  滚屏事件(Scroll Events) 381

19.3.5  页面加载事件(Page Load Events) 383

19.3.6  页面显示/隐藏事件(Page Show/Hide 

Events) 388

19.3.7  页面初始化事件(Page Initialization 

Events) 389

19.3.8  动画事件(Animation Events) 391

19.3.9  触发事件 393

19.4  属性 393

19.5  数据属性 393

19.6  有响应的布局助手 397

19.6.1  方向类(Orientation Classes) 397

19.6.2  最小/最大宽度折断点(Class Min/Max 

Width Breakpoint Classes) 397

19.6.3  添加宽度折断点(Adding Width 

Breakpoints) 398

19.6.4  运行媒介查询(Running Media Queries) 398

  

  

第4篇 PhoneGap技术篇

第20章  PhoneGap基础 400

20.1  PhoneGap简介 400

20.1.1  产生背景 400

20.1.2  什么是PhoneGap 401

20.1.3  PhoneGap的发展历程 401

20.1.4  全新的功能 402

20.1.5  PhoneGap的发展现状 402

20.2  PhoneGap的优点和缺点分析 403

20.2.1  原生应用 403

20.2.2  Web应用 404

20.2.3  混合型应用 404

20.3  PhoneGap API基础 405

20.4  PhoneGap的工作 406

20.5  PhoneGap开发必备技术 407

20.5.1  Titanium 407

20.5.2  Adobe AIR 408

20.5.3  Corona 409

20.5.4  常用的JavaScript移动UI框架 409

第21章  使用PhoneGap开发移动

Web应用 411

21.1  PhoneGap移动Web开发的步骤 411

21.2  搭建PhoneGap开发环境 412

21.2.1  准备工作 412

21.2.2  获得PhoneGap开发包 412

21.2.3  在iOS平台上创建基于PhoneGap

的程序 414

第22章  PhoneGap的事件机制 417

22.1  PhoneGap的事件列表 417

22.2  deviceready事件 418

22.3  pause和resume事件 420

22.4  online和offline事件 422

22.4.1  online事件 422

22.4.2  offline事件 423

22.5  batterycritical、batterylow和

batterystatus事件 424

第23章  API--应用、通知、设备、

网络连接和加速计 428

23.1  应用API 428

23.1.1  白名单安全机制 428

23.1.2  访问对象的方法 429

23.2  通知API 430

23.2.1  主要对象 430

23.2.2  业务操作 430

23.3  设备API 439

23.3.1  主要对象 439

23.3.2  使用设备API 439

23.4  网络连接API 440

23.5  加速计API 442

23.5.1  主要对象 442

23.5.2  getCurrentAcceleration()方法 443

23.5.3  watchAcceleration()方法 445

23.5.4  clearWatch()方法 447

第24章  API--地理位置和指南针 449

24.1  地理位置API 449

24.1.1  地理位置应用背景 449

24.1.2  Geolocation接口介绍 450

24.1.3  三个对象 450

24.1.4  三个参数 454

24.1.5  操作方法 455

24.2  指南针API 460

24.2.1  两个对象 460

24.2.2  三个参数 461

24.2.3  三个函数 461

第25章  API--照相机、采集、媒体 467

25.1  照相机 467

25.1.1  camera.getPicture()方法 467

25.1.2  业务操作 468

25.1.3  实战演练 469

25.2  Capture 474

25.2.1  Capture的对象 474

25.2.2  Capture的方法 477

25.3  Media 484

25.3.1  主要参数介绍 484

25.3.2  主要方法介绍 484

第26章  API--通讯录和数据存储 497

26.1  Contacts通讯录 497

26.1.1  主要对象 497

26.1.2  五个方法 508

26.1.3  综合实例 511

26.2  Storage存储 517

26.2.1  主要对象 518

26.2.2  主要方法 525

第27章  API--文件操作 526

27.1  主要对象 526

27.1.1  DirectoryEntry 526

27.1.2  DirectoryReader和File 527

27.1.3  FileEntry 527

27.1.4  FileError 527

27.1.5  FileReader 528

27.1.6  FileSystem 529

27.1.7  FileTransfer和FileTransferError 530

27.1.8  FileUploadOptions和FileUploadResult 530

27.1.9  FileWriter 531

27.1.10  Flags 534

27.1.11  LocalFileSystem 534

27.1.12  Metadata 535

27.2  主要方法 535

27.2.1  getMetadata()方法 536

27.2.2  moveTo()方法 536

27.2.3  copyTo()方法 537

27.2.4  toURI()方法 537

27.2.5  remove()方法 538

27.2.6  getParent()方法 538

27.2.7  createReader()和getDirectory()方法 539

27.2.8  getFile()方法 539

27.2.9  removeRecursively()方法 540

27.2.10  readEntries()方法 540

27.2.11  createWriter()方法 541

27.2.12  readAsDataURL()和readAsText()方法 541

27.2.13  upload()方法 544

27.2.14  download()方法 545

第28章  PhoneGap的插件 547

28.1  PhoneGap插件基础 547

28.2  使用PhoneGap插件 548

28.2.1  ChildBrowser插件介绍 548

28.2.2  使用ChildBrowser插件 549

28.3  实现PhoneGap插件 552

28.3.1  编写前的准备 552

28.3.2  编写PhoneGap插件 553

28.3.3  将PhoneGap嵌入到iOS程序中 557

28.4  常用的PhoneGap插件 559

28.4.1  NativeControls插件 559

28.4.2  WebGL插件 560

  

  

  

  

  

IV

  

  

VII