-
《iPhone开发实战》.(Christopher Allen).pdf下载
资源介绍
内容简介
本书全面探讨了 iphone平台的两种编程方式 ——web开发和 sdk编程。全书结合示例对这两种编程方式的基本流程、基本原理和基本原则给出了详细而通俗的讲解。在 web开发方面,分别介绍了三个 iphone web库,即 webkit、iui和 canvas,并讨论了 web开发环境 dashcode,最后阐述 web应用程序的调试。在 sdk开发方面,详细描述其各种组件和功能,包括 xcode、interface builder、视图控制器、用户交互、sdk工具包、加速计和 gps、媒体、图形等。.
本书适合所有 iphone开发人员学习参考。...
目录
第一部分 iphone编程简介.
第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还是sdk12
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检测iphone31
3.3.2 通过css检测iphone31
3.3.3 使用css进行优化32
3.4 使用iphone chrome32
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 调整chrome51
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 ui60
5.1.1 图形界面60
5.1.2 iphone数据范型62
5.1.3 其他iphone设计元素62
5.2 准备iui63
5.3 使用iui进行开发64
5.3.1 iui工具栏64
5.3.2 iui列表65
5.3.3 iui对话框67
5.3.4 iui搜索支持ajax68
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 压缩iui74
5.5.4 选择不同的外观74
5.6 集成iui与其他库75
5.6.1 结合jquery与iui75
5.6.2 结合iui与webkit76
5.7 小结77
第6章 使用canvas开发web应用程序78
6.1 准备canvas78
6.1.1 启用canvas78
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与webkit109
7.3.2 集成dashcode与iui110
7.3.3 集成dashcode与canvas110
7.3.4 更深的集成110
7.4 小结110
第8章 调试iphone网页111
8.1 在本地使用apache111
8.2 使用桌面浏览器进行调试112
8.2.1 使用safari112
8.2.2 使用firefox113
8.2.3 使用iphone仿真器115
8.3 调试iphone115
8.3.1 使用iphone调试工具..116
8.3.2 使用bookmarklet116
8.4 分析iphone117
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基本原理
第10章 objective-c和iphone os128
10.1 下载sdk128
10.1.1 安装sdk128
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章 使用xcode147
11.1 xcode简介147
11.1.1 剖析xcode147
11.1.2 在xcode中编译和执行148
11.2 在xcode中创建第一个项目:hello, world!149
11.2.1 理解main.m149
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 builder160
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 声明iboutlet167
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 使用ibaction200
14.6 其他动作功能201
14.6.1 uitextfield201
14.6.2 uislider203
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 使用sqlite239
16.4.1 设置sqlite数据库239
16.4.2 访问sqlite240
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 使用地址簿ui251
16.6 小结255
第17章 定位:加速计和位置256
17.1 加速计和方向256
17.1.1 orientation属性256
17.1.2 方向通知257
17.2 加速计和移动257
17.2.1 访问uiaccelerometer258
17.2.2 解析uiacceleration258
17.2.3 查看重力259
17.2.4 查看移动260
17.2.5 识别简单的加速计移动261
17.3 加速计和手势263
17.4 关于core location265
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 加载uiimage272
18.1.2 绘制uiimageview273
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 振动iphone288
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 使用url318
20.3.1 创建nsurl318
20.3.2 构建nsurlrequest319
20.3.3 手动操作html数据320
20.4 使用uiwebview320
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 解析xml325
20.5.1 启动nsxmlparser326
20.5.2 充当委托326
20.5.3 构建示例rss阅读器:一个xml示例327
20.5.4 海拔高度重读:一个core location示例332
20.6 提交给web334
20.6.1 手动提交334
20.6.2 提交表单335
20.7 访问社会网络336
20.7.1 使用web协议336
20.7.2 使用touchjson337
20.8 小结338
附录a iphone os类参考339
附录b 外部资源和参考资料342
附录c 发布你的sdk程序...344