《Iphone开发实战》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)ChristopherAllen,ShannonAppelcline编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2009
  • ISBN:9787115213051
  • 页数:346 页
图书介绍:本书通过实例讲授iPhone Web开发和iPhone SDK编程,主要内容包括iPhone平台、iPhone编程方法及其详细步骤、iPhone Web库Canvas、iPhone工具包。

第一部分 iPhone编程简介 2

第1章 iPhone简介 2

1.1 iPhone核心规范 3

1.1.1 iPhone的输入及输出规范 3

1.1.2 iPhone网络规范 4

1.1.3 iPhone浏览器规范 5

1.1.4 iPhone的其他硬件特性 5

1.2 iPhone在行业中的比较 6

1.2.1 物理比较 6

1.2.2 具有竞争力的因特网浏览 6

1.2.3 移动Web标准 7

1.2.4 其他创新 7

1.3 iPhone的独特之处 7

1.4 理解iPhone输入和输出 8

1.4.1 输出和iPhone视区 8

1.4.2 输出和方向 9

1.4.3 输入和iPhone定位机制 10

1.5 小结 11

第2章 Web还是SDK 12

2.1 比较两种编程风格 12

2.2 核心思想:编程的连续性 13

2.3 优点和缺点 14

2.3.1 Web开发 14

2.3.2 SDK开发 15

2.3.3 程序平台 16

2.4 独立iPhone开发 17

2.4.1 Web开发模型 17

2.4.2 SDK开发模式 18

2.5 集成iPhone开发 19

2.5.1 镜像开发 19

2.5.2 混合开发 19

2.5.3 客户机-服务器开发 20

2.5.4 关于集成的最后想法 20

2.6 小结 20

第二部分 为iPhone设计网页第3章 为iPhone重新开发网页 22

3.1 iPhone视区 23

3.1.1 更改整站视区 24

3.1.2 更改局部视区 24

3.1.3 视区属性和常量 25

3.2 实现“iPhone友好的”网页 26

3.2.1 避免缺少iPhone功能 26

3.2.2 创建链接 28

3.2.3 Web开发中的良好习惯 28

3.2.4 解决常见问题 29

3.3 实现“iPhone优化的”网页 31

3.3.1 通过USER_AGENT检测iPhone 31

3.3.2 通过CSS检测iPhone 31

3.3.3 使用CSS进行优化 32

3.4 使用iPhone chrome 32

3.4.1 三个栏 32

3.4.2 Web剪贴 33

3.5 捕获iPhone事件 34

3.5.1 单指触摸 34

3.5.2 两指手势 35

3.6 重新显示网页 36

3.6.1 Gmail iPhone页面 36

3.6.2 Facebook iPhone页面 37

3.7 支持非iPhone用户 38

3.8 小结 39

第4章 高级WebKit和文本Web应用程序 40

4.1 WebKit简介 40

4.1.1 新的HTML元素 41

4.1.2 新的CSS元素 41

4.2 CSS变换、过渡和动画 43

4.2.1 变换函数 43

4.2.2 过渡函数 44

4.2.3 动画函数 47

4.3 WebKit数据库 48

4.3.1 加载数据库 48

4.3.2 运行事务 48

4.3.3 一个示例数据库 49

4.4 调整chrome 51

4.5 识别触摸和手势 52

4.5.1 访问事件 52

4.5.2 转换事件 53

4.5.3 访问触摸 53

4.5.4 访问手势 55

4.6 识别方向 56

4.7 即将推出的特性:CSS渐变和蒙版 57

4.7.1 CSS渐变 57

4.7.2 CSS蒙版 58

4.7.3 Canvas替代方法 58

4.8 小结 59

第5章 使用iUI开发Web应用程序 60

5.1 创建你自己的iPhone UI 60

5.1.1 图形界面 60

5.1.2 iPhone数据范型 62

5.1.3 其他iPhone设计元素 62

5.2 准备iUI 63

5.3 使用iUI进行开发 64

5.3.1 iUI工具栏 64

5.3.2 iUI列表 65

5.3.3 iUI对话框 67

5.3.4 iUI搜索支持Ajax 68

5.3.5 iUI面板和行 68

5.3.6 iUI按钮 70

5.3.7 iUI属性 70

5.4 创建iUI后端 71

5.5 其他iUI技巧 72

5.5.1 组织代码 72

5.5.2 改善数据代码清单 73

5.5.3 压缩iUI 74

5.5.4 选择不同的外观 74

5.6 集成iUI与其他库 75

5.6.1 结合jQuery与iUI 75

5.6.2 结合iUI与WebKit 76

5.7 小结 77

第6章 使用Canvas开发Web应用程序 78

6.1 准备Canvas 78

6.1.1 启用Canvas 78

6.1.2 确保兼容性 79

6.1.3 合并功能 79

6.2 绘制路径 80

6.2.1 基本路径命令 81

6.2.2 曲线命令 82

6.3 绘制形状 84

6.3.1 绘制矩形 84

6.3.2 编写形状函数 85

6.4 创建样式:颜色、渐变和线条 86

6.4.1 颜色样式 86

6.4.2 渐变样式 86

6.4.3 线条样式 87

6.5 修改合成与剪切 88

6.5.1 全局变量 88

6.5.2 剪切路径 89

6.6 变换和恢复 90

6.6.1 变换 90

6.6.2 状态栈 90

6.7 整合图像、模式和文本 91

6.7.1 图像命令 91

6.7.2 模式命令 92

6.7.3 文本命令 92

6.8 合并功能 93

6.9 应用动画 93

6.10 小结 95

第7章 使用Dashcode构建Web应用程序 96

7.1 Dashcode简介 96

7.1.1 开始Dashcode项目 97

7.1.2 Dashcode剖析 97

7.1.3 运行Dashcode项目 100

7.1.4 部署Dashcode项目 100

7.2 编写Dashcode程序 101

7.2.1 使用库部件 102

7.2.2 添加动作按钮 104

7.2.3 使用基于列表的Browser模板 105

7.2.4 使用stackLayout部件 106

7.2.5 探究Dashcode的其余方面 108

7.3 集成Dashcode与已有库 109

7.3.1 集成Dashcode与Webkit 109

7.3.2 集成Dashcode与iUI 110

7.3.3 集成Dashcode与Canvas 110

7.3.4 更深的集成 110

7.4 小结 110

第8章 调试iPhone网页 111

8.1 在本地使用Apache 111

8.2 使用桌面浏览器进行调试 112

8.2.1 使用Safari 112

8.2.2 使用Firefox 113

8.2.3 使用iPhone仿真器 115

8.3 调试iPhone 115

8.3.1 使用iPhone调试工具 116

8.3.2 使用bookmarklet 116

8.4 分析iPhone 117

8.5 小结 118

第9章 适用于Web开发人员的SDK编程 119

9.1 C语言概念简介 119

9.1.1 声明和类型 120

9.1.2 内存管理和指针 121

9.1.3 文件结构和指令 121

9.1.4 编译 122

9.1.5 其他元素 122

9.2 面向对象编程简介 123

9.2.1 对象和类 123

9.2.2 消息传递 124

9.3 模型-视图-控制器(MVC)模式 125

9.4 小结 125

第三部分 SDK基本原理 128

第10章 Objective-C和iPhone OS 128

10.1 下载SDK 128

10.1.1 安装SDK 128

10.1.2 SDK剖析 130

10.2 Objective-C介绍 131

10.2.1 概述 131

10.2.2 消息 132

10.2.3 类定义 133

10.2.4 属性 135

10.2.5 其他编译器指令 137

10.2.6 类别和协议 138

10.2.7 Objective-C总结 138

10.3 iPhone OS介绍 139

10.3.1 iPhone OS剖析 139

10.3.2 iPhone对象的层次结构 140

10.3.3 窗口和视图 141

10.4 iPhone OS的方法 142

10.4.1 对象创建 142

10.4.2 内存管理 143

10.4.3 事件响应 145

10.4.4 生命周期管理 146

10.5 小结 146

第11章 使用Xcode 147

11.1 Xcode简介 147

11.1.1 剖析Xcode 147

11.1.2 在Xcode中编译和执行 148

11.2 在Xcode中创建第一个项目:Hello,World! 149

11.2.1 理解main.m 149

11.2.2 理解应用程序委托 150

11.2.3 编写“Hello,World!” 151

11.3 在Xcode中新建类 154

11.3.1 新类简介 154

11.3.2 头文件 154

11.3.3 源代码文件 155

11.3.4 链接 156

11.4 Xcode的其他功能 157

11.4.1 在Xcode中添加框架 157

11.4.2 在Xcode中使用其他模板 157

11.4.3 Xcode提示和技巧 158

11.5 小结 159

第12章 使用Interface Builder 160

12.1 Interface Builder介绍 160

12.1.1 Interface Builder剖析 160

12.1.2 在Interface Builder中模拟 163

12.2 在Interface Builder中创建第一个项目:图片和网页 163

12.2.1 新建对象 163

12.2.2 操作图形对象 164

12.2.3 使用Inspector窗口 164

12.2.4 使用图片 166

12.3 在Interface Builder中建立连接 167

12.3.1 声明IBOutlet 167

12.3.2 连接对象 167

12.3.3 使用IBOutlet编写代码 168

12.4 其他Interface Builder功能 169

12.4.1 建立其他连接 169

12.4.2 创建外部对象 170

12.4.3 初始化Interface Builder对象 170

12.4.4 访问.xib文件 170

12.4.5 新建.xib文件 171

12.5 小结 171

第13章 创建基本视图控制器 172

13.1 视图控制器家族 172

13.2 基本的视图控制器 173

13.2.1 视图控制器的分析图 173

13.2.2 创建视图控制器 174

13.2.3 构建视图控制器界面 175

13.2.4 使用视图控制器 176

13.3 表视图控制器 180

13.3.1 表视图控制器的分析图 180

13.3.2 创建表视图控制器 180

13.3.3 构建表界面 181

13.3.4 使用表视图控制器 185

13.4 小结 186

第14章 监控事件和动作 187

14.1 事件简介 187

14.1.1 响应者链 187

14.1.2 触摸和事件 188

14.2 触摸的例子:事件报告程序 190

14.2.1 在Interface Builder中构建应用程序 191

14.2.2 为触摸准备视图 192

14.2.3 控制事件 193

14.3 其他事件功能 195

14.3.1 规则化事件 195

14.3.2 其他事件方法和属性 196

14.4 动作简介 196

14.4.1 UIControl对象 196

14.4.2 控件事件和动作 197

14.4.3 addTarget:action:forControlEvents:方法 198

14.5 向应用程序添加按钮 199

14.5.1 使用addTarget:action:forControlEvents: 199

14.5.2 使用IBAction 200

14.6 其他动作功能 201

14.6.1 UITextField 201

14.6.2 UISlider 203

14.6.3 TextField/Slider组合 203

14.6.4 创建动作很容易 204

14.6.5 使用动作 204

14.7 通知简介 204

14.8 小结 205

第15章 创建高级视图控制器 206

15.1 选项卡栏视图控制器 206

15.1.1 选项卡栏控制器分析 206

15.1.2 创建选项卡栏控制器 207

15.1.3 构建选项卡栏界面 209

15.1.4 使用选项卡栏控制器 211

15.2 导航控制器 212

15.2.1 导航控制器分析 212

15.2.2 创建导航控制器 213

15.2.3 构建导航控制器 214

15.2.4 使用导航控制器 217

15.3 使用翻转控制器 218

15.4 模式视图控制器 220

15.5 小结 221

第四部分 使用SDK工具包编程第16章 处理数据 224

16.1 接收用户动作 224

16.2 管理用户首选项 225

16.2.1 创建自己的首选项 226

16.2.2 使用系统设置 230

16.3 打开文件 234

16.3.1 访问软件包 235

16.3.2 访问其他目录 235

16.3.3 操纵文件 236

16.3.4 Filesaver:一个UITextView示例 237

16.4 使用SQLite 239

16.4.1 设置SQLite数据库 239

16.4.2 访问SQLite 240

16.4.3 访问SQLite数据库 241

16.4.4 通过数据库构建导航菜单 241

16.4.5 本例的扩展 247

16.5 访问地址簿 247

16.5.1 框架概述 248

16.5.2 访问地址簿属性 248

16.5.3 查询地址簿 249

16.5.4 使用地址簿UI 251

16.6 小结 255

第17章 定位:加速计和位置 256

17.1 加速计和方向 256

17.1.1 orientation属性 256

17.1.2 方向通知 257

17.2 加速计和移动 257

17.2.1 访问UIAccelerometer 258

17.2.2 解析UIAcceleration 258

17.2.3 查看重力 259

17.2.4 查看移动 260

17.2.5 识别简单的加速计移动 261

17.3 加速计和手势 263

17.4 关于Core Location 265

17.4.1 位置类 265

17.4.2 使用位置和距离的示例 266

17.4.3 使用海拔的示例 268

17.4.4 Core Location和互联网 270

17.5 小结 271

第18章 媒体:图像和声音 272

18.1 图像介绍 272

18.1.1 加载UIImage 272

18.1.2 绘制UIImageView 273

18.1.3 在UIKit中修改图像 274

18.2 利用Core Graphics绘制简单图像 275

18.3 访问照片 276

18.3.1 使用图像选取器 276

18.3.2 拍照 276

18.3.3 保存到相册 277

18.4 拼合:一个图像例子 277

18.4.1 拼合视图控制器 278

18.4.2 拼合临时图像视图 281

18.4.3 拼合视图 282

18.4.4 扩展这个例子 283

18.5 使用Media Player框架 283

18.5.1 媒体播放器类 283

18.5.2 音量视图 285

18.5.3 更好地集成媒体播放器 286

18.6 手动播放声音 286

18.6.1 播放简单声音 287

18.6.2 振动iPhone 288

18.6.3 播放复杂的声音 288

18.6.4 其他音频框架 290

18.7 小结 290

第19章 绘制图形 291

19.1 Quartz 2D简介 291

19.2 Quartz上下文 292

19.2.1 在UIView上绘制图形 293

19.2.2 在位图上绘制图形 294

19.3 绘制路径 295

19.3.1 结束路径 296

19.3.2 创建可重用路径 296

19.3.3 绘制矩形 297

19.4 设置图形状态 298

19.4.1 设置颜色 298

19.4.2 变换 299

19.4.3 设置裁剪路径 301

19.4.4 其他设置 302

19.4.5 管理状态 302

19.5 Quartz中的高级绘图功能 302

19.5.1 绘制渐变 303

19.5.2 绘制图像 304

19.5.3 绘制文字 305

19.5.4 未介绍的内容 306

19.6 示例:在图片上绘图 306

19.6.1 photodraw视图控制器 307

19.6.2 photodraw视图 308

19.6.3 扩展示例 311

19.7 Core Animation简介 311

19.7.1 Core Animation基础 312

19.7.2 Core Animation入门 313

19.7.3 绘制简单的隐式动画 313

19.7.4 绘制简单的显式动画 313

19.8 OpenGL简介 314

19.9 小结 315

第20章 Web:Web视图和因特网协议 316

20.1 因特网的层次结构 316

20.2 低层次联网 316

20.3 使用URL 318

20.3.1 创建NSURL 318

20.3.2 构建NSURLRequest 319

20.3.3 手动操作HTML数据 320

20.4 使用UIWebView 320

20.4.1 调用Web视图 320

20.4.2 管理Web视图委托 321

20.4.3 缩略图:一个Web视图例子 322

20.4.4 Google Maps:一个Core Location示例 324

20.5 解析XML 325

20.5.1 启动NSXMLParser 326

20.5.2 充当委托 326

20.5.3 构建示例RSS阅读器:一个XML示例 327

20.5.4 海拔高度重读:一个Core Location示例 332

20.6 提交给Web 334

20.6.1 手动提交 334

20.6.2 提交表单 335

20.7 访问社会网络 336

20.7.1 使用Web协议 336

20.7.2 使用TouchJSON 337

20.8 小结 338

附录A iPhone OS类参考 339

附录B 外部资源和参考资料 342

附录C 发布你的SDK程序 344