词条 | iPhone与iPad开发实战 |
释义 | 基本信息作者: (美)Brandon Trebitowski Christopher Allen译者: 张波 陈宝国 高伟 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787115248589 上架时间:2011-3-1 出版日期:2011 年3月 开本:16开 内容简介《iphone与ipad开发实战》旨在以教程的形式讲解如何使用本地iphone sdk 进行iphone/ipad 开发。首先介绍了objective-c、xcode、interface builder、视图控制器、标准事件和动作模型等基础知识,接着介绍了一些数据访问方法与出色的硬件功能(加速计、gps 和罗盘),然后讨论了媒体、音频、图形、互联网等主题,最后通过实例展示了如何使用game kit 框架、推送通知、map kit 框架和store kit 框架等。 《iphone与ipad开发实战》适合所有iphone 和ipad 开发人员阅读。 摘要本书旨在以教程的形式讲解如何使用本地iPhone SDK 进行iPhone/iPad 开发。首先介绍了Objective-C、Xcode、Interface Builder、视图控制器、标准事件和动作模型等基础知识,接着介绍了一些数据访问方法与出色的硬件功能(加速计、GPS 和罗盘),然后讨论了媒体、音频、图形、互联网等主题,最后通过实例展示了如何使用Game Kit 框架、推送通知、Map Kit 框架和Store Kit 框架等。 本书适合所有iPhone 和iPad 开发人员阅读。 前言开始编写《iPhone开发实战》修订版的时候,Shannon和Christopher手头上正好还有其他项目。于是Manning出版社决定另寻一名作者来完成所需的更新。最后,他们在Twitter上发现了我。 还在上高三的时候,我就已经开始学习编程,并花费大量时间编写Web应用程序和一些冒傻气的Java游戏。高中毕业后,我进入新墨西哥大学,并在那里获得了计算机科学理学学士学位。 当苹果公司推出最初的iPhone时,我非常渴望拥有一台。但直到苹果公司将iPhone 3G投入市场,我才攒够钱圆了自己的奢望那时候,我还买不起iPhone。因为大学时已经习惯了阅读Java文档,所以我能从苹果公司的API文档中学到很多东西。 接手撰写本书的任务后,我很快意识到上一版中的不少章都应该删掉。尽管Web应用是iPhone应用发展前期一个极为重要的组成部分,但它们现在已经无法与本机应用程序抗衡了。因此,我删除了上一版中有关Web开发的那些章,添加了与最新的iPhone SDK特性有关的新内容。 刚完成此书时,苹果公司发布了其最新设备——iPad。于是Manning出版社和我必须作出选择:要么在现有书稿基础上再奋斗几个月的时间,要么出版一本刚上架就过时的书。幸好我们选择了前者。 ——Brandon Trebitowsk 目录《iphone与ipad开发实战》 第1章 iphone与ipad简介 1 1.1 历史回顾 1 1.2 人人为我,我为人人:iphone os平台 2 1.3 核心硬件规范 2 1.3.1 iphone 2 1.3.2 ipad 3 1.3.3 ipod touch 4 1.3.4 iphone和ipad的输入及输出规范 4 1.3.5 iphone和ipad网络规范 5 1.3.6 iphone os浏览器规范 6 1.3.7 移动web标准 7 1.3.8 其他硬件特性 7 1.4 iphone和ipad的独特之处 8 1.5 理解iphone和ipad触摸式交互 9 1.6 小结 10 第2章 objective-c和iphone os sdk 11 2.1 准备使用sdk 11 2.1.1 安装sdk 11 2.1.2 sdk剖析 13 .2.2 objective-c介绍 14 2.2.1 概述 14 2.2.2 消息 15 2.2.3 类定义 17 2.2.4 属性 18 2.2.5 其他编译器指令 20 2.2.6 类别和协议 20 2.2.7 objective-c总结 21 2.3 iphone os介绍 22 2.3.1 iphone os剖析 22 2.3.2 iphone os的对象层次结构 23 2.3.3 窗口和视图 24 2.4 iphone os的方法 25 2.4.1 对象创建 25 2.4.2 内存管理 27 2.4.3 事件响应 28 2.4.4 生命周期管理 29 2.5 小结 30 第3章 使用xcode 31 3.1 xcode简介 31 3.1.1 剖析xcode 31 3.1.2 在xcode中编译和执行 33 3.2 在xcode中创建第一个iphone项目:hello, world! 33 3.2.1 理解main.m 33 3.2.2 理解应用程序委托 34 3.2.3 编写“hello, world!” 36 3.3 在xcode中创建第一个ipad项目: hello, world! 38 3.4 在xcode中创新建类 39 3.4.1 新类简介 39 3.4.2 头文件 39 3.4.3 源代码文件 40 3.4.4 链接 42 3.5 xcode的其他功能 42 3.5.1 使用xcode添加框架 42 3.5.2 在xcode中使用其他模板 42 3.5.3 xcode提示和技巧 43 3.6 小结 44 第4章 使用interface builder 45 4.1 interface builder介绍 45 4.1.1 interface builder剖析 46 4.1.2 在interface builder中模拟 48 4.2 在interface builder中创建第一个项目:图片和网页 48 4.2.1 新建对象 48 4.2.2 操作图形对象 49 4.2.3 使用检查器窗口 49 4.2.4 使用图片 51 4.3 在interface builder中建立连接 52 4.3.1 声明iboutlet 52 4.3.2 连接对象 53 4.3.3 使用iboutlet编写代码 54 4.4 其他interface builder功能 55 4.4.1 建立其他连接 55 4.4.2 创建外部对象 55 4.4.3 初始化interface builder对象 56 4.4.4 访问.xib文件 56 4.4.5 新建.xib文件 57 4.5 小结 57 第5章 创建基本视图控制器 58 5.1 视图控制器家族 58 5.2 标准视图控制器 59 5.2.1 视图控制器剖析 60 5.2.2 创建视图控制器 60 5.2.3 创建另一个视图控制器 60 5.2.4 构建视图控制器界面 61 5.2.5 使用视图控制器 62 5.3 表视图控制器 66 5.3.1 剖析表视图控制器 66 5.3.2 创建表视图控制器 66 5.3.3 构建表界面 67 5.3.4 使用表视图控制器 72 5.4 小结 73 第6章 监控事件和动作 74 6.1 事件简介 74 6.1.1 响应者链 74 6.1.2 触摸和事件 76 6.2 触摸的例子:事件报告程序 77 6.2.1 在interface builder中构建应用 程序 78 6.2.2 为触摸准备视图 79 6.2.3 控制事件 80 6.3 其他事件功能 82 6.3.1 规则化事件 82 6.3.2 其他事件方法和属性 83 6.4 动作简介 84 6.4.1 uicontrol对象 84 6.4.2 控件事件和动作 84 6.4.3 使用addtarget:action: forcontrolevents:方法 86 6.5 向应用程序添加按钮 86 6.5.1 使用addtarget:action: forcontrolevents:与按钮 87 6.5.2 使用ibaction与按钮 87 6.6 其他动作功能 88 6.6.1 使用uitextfield接受文本输入 88 6.6.2 允许使用uislider来选择值 90 6.6.3 textfield/slider组合 90 6.6.4 创建动作很容易 92 6.6.5 使用动作 92 6.7 通知简介 92 6.8 小结 93 第7章 创建高级视图控制器 94 7.1 标签栏视图控制器 94 7.1.1 剖析标签栏视图控制器 94 7.1.2 创建标签栏控制器 95 7.1.3 构建标签栏界面 97 7.1.4 使用标签栏控制器 100 7.2 导航控制器 101 7.2.1 剖析导航控制器 101 7.2.2 创建导航控制器 102 7.2.3 完成导航控制器 102 7.2.4 使用导航控制器 106 7.3 使用翻转控制器 108 7.4 分割视图控制器 110 7.4.1 创建分割视图控制器 110 7.4.2 构建分割视图控制器 112 7.4.3 使用分割视图控制器 115 7.4.4 为竖向模式和横向模式调整 界面 116 7.5 弹出式视图控制器和模式视图控制器 116 7.5.1 创建弹出式视图控制器 117 7.5.2 创建模式视图控制器 117 7.6 小结 118 第8章 数据:动作、首选项和文件 119 8.1 接收用户动作 119 8.2 管理用户首选项 120 8.2.1 创建自己的首选项 121 8.2.2 使用系统设置 125 8.3 打开文件 129 8.3.1 访问软件包 130 8.3.2 访问其他目录 131 8.3.3 操纵文件 131 8.3.4 filesaver:一个uitextview示例 132 8.4 小结 135 第9章 数据:高级技术 136 9.1 使用sqlite 136 9.1.1 设置sqlite数据库 137 9.1.2 访问sqlite 138 9.1.3 访问sqlite数据库 138 9.1.4 通过数据库构建导航菜单 139 9.1.5 本例的扩展 145 9.2 访问地址簿 145 9.2.1 框架概述 145 9.2.2 访问地址簿属性 146 9.2.3 查询地址簿 147 9.2.4 使用地址簿ui 149 9.3 core data简介 153 9.3.1 关于core data的背景知识 153 9.3.2 在应用程序中设置core data 154 9.3.3 初始化core data对象 155 9.3.4 为数据库添加对象 158 9.3.5 在core data中提取、更新和删 除对象 158 9.4 小结 160 第10章 定位:加速计、位置和罗盘 161 10.1 加速计和方向 161 10.1.1 orientation属性 161 10.1.2 方向通知 162 10.2 加速计和移动 162 10.2.1 访问uiaccelerometer 163 10.2.2 解析uiacceleration 163 10.2.3 查看重力 164 10.2.4 查看移动 166 10.2.5 识别简单的加速计移动 166 10.3 加速计和手势 168 10.4 core location 170 10.4.1 位置类 171 10.4.2 使用位置和距离的示例 172 10.4.3 使用海拔的示例 174 10.4.4 使用罗盘 177 10.4.5 core location和互联网 178 10.5 小结 178 第11章 媒体:图像和照相机 179 11.1 图像介绍 179 11.1.1 加载uiimage 180 11.1.2 绘制uiimageview 180 11.1.3 在uikit中修改图像 181 11.2 利用core graphics绘制简单图像 182 11.3 访问照片 183 11.3.1 使用图像选取器 183 11.3.2 拍照 184 11.3.3 保存到相册 185 11.4 拼合:一个图像例子 185 11.4.1 拼合视图控制器 185 11.4.2 拼合临时图像视图 189 11.4.3 拼合视图 190 11.4.4 扩展这个例子 191 11.5 小结 191 第12章 媒体:音频和录音 192 12.1 播放ipod库中的音频 192 12.1.1 从ipod媒体库中检索音频 条目 192 12.1.2 获取mpmediaitem的信息 194 12.1.3 使用mpmusicplayercontroller播放媒体条目 194 12.1.4 示例:创建一个简单的媒体 播放器应用程序 196 12.2 录制音频 198 12.2.1 初始化音频录音器 198 12.2.2 控制音频录音器 199 12.2.3 响应avaudiorecorder事件 200 12.3 手动播放声音 201 12.3.1 初始化avaudio player 201 12.3.2 avaudioplayer delegate 202 12.3.3 控制avaudioplayer 202 12.4 示例:创建一个简单的音频 录制/播放应用程序 203 12.4.1 创建一个基于视图的应用 程序 204 12.4.2 添加所需的框架 204 12.4.3 构建ibaction 204 12.4.4 创建界面 204 12.4.5 设置音频录音器并实现 ibaction操作 205 12.5 录制、播放和访问视频 206 12.6 小结 207 第13章 图形:quartz、core animation 和opengl 209 13.1 quartz 2d简介 209 13.2 quartz上下文 210 13.2.1 在uiview上绘制图形 211 13.2.2 在位图上绘制图形 212 13.3 绘制路径 213 13.3.1 结束路径 214 13.3.2 创建可重用路径 214 13.3.3 绘制矩形 215 13.4 设置图形状态 216 13.4.1 设置颜色 216 13.4.2 变换 217 13.4.3 设置裁剪路径 219 13.4.4 其他设置 220 13.4.5 管理状态 220 13.5 quartz中的高级绘图功能 220 13.5.1 绘制渐变 221 13.5.2 绘制图像 222 13.5.3 绘制文字 223 13.5.4 未介绍的内容 224 13.6 示例:在图片上绘图 224 13.6.1 photodraw视图控制器 225 13.6.2 photodraw视图 226 13.6.3 扩展示例 228 13.7 core animation简介 229 13.7.1 core animation基础 230 13.7.2 core animation入门 230 13.7.3 绘制简单的隐式动画 230 13.7.4 绘制简单的显式动画 231 13.8 opengl简介 232 13.9 小结 232 第14章 web:web视图和互联网协议 234 14.1 互联网的层次结构 234 14.2 低层次联网 234 14.3 使用url 236 14.3.1 创建nsurl 236 14.3.2 构建nsurlrequest 237 14.3.3 手动操作html数据 238 14.4 使用uiwebview 238 14.4.1 调用web视图 239 14.4.2 管理web视图委托 239 14.4.3 缩略图:一个web视图例子 240 14.5 解析xml 242 14.5.1 启动nsxmlparser 242 14.5.2 充当委托 243 14.5.3 构建示例rss阅读器 244 14.5.4 海拔高度重读:一个core location示例 248 14.6 提交给web 250 14.6.1 手动提交 250 14.6.2 提交表单 251 14.7 访问社交网络 252 14.7.1 使用web协议 252 14.7.2 使用touchjson 253 14.8 小结 255 第15章 使用game kit进行p2p连接 256 15.1 game kit概述 256 15.2 使用对等点选取器创建p2p应用程序 257 15.2.1 使用苹果公司的内置对等点 选取器 257 15.2.2 实现gksession delegate 方法 260 15.2.3 在对等点之间发送和接收 数据 261 15.3 示例:创建一个多人乒乓球游戏 263 15.3.1 启动gktennis项目 264 15.3.2 创建头文件 264 15.3.3 创建乒乓球游戏界面 265 15.3.4 游戏初始化 266 15.3.5 建立对等点选取器并进行连接 267 15.3.6 实现send和receive方法 268 15.3.7 游戏循环 270 15.3.8 用户交互 273 15.4 小结 274 第16章 推送通知服务 275 16.1 什么是推送通知 275 16.2 苹果公司的推送通知系统概述 276 16.3 准备在应用程序中使用推送通知服务 277 16.3.1 设置应用程序证书 278 16.3.2 建立供应配置文件 279 16.3.3 处理推送通知的代码 279 16.3.4 准备音频文件 281 16.4 使用php创建一个推送通知提供程序 281 16.4.1 创建ssl证书 282 16.4.2 实现php推送通知提供程序 283 16.5 小结 284 第17章 map kit框架 285 17.1 map kit概述 285 17.2 向应用程序添加地图 285 17.2.1 使用interface builder添加地图 285 17.2.2 用编程方式添加地图 287 17.2.3 控制地图 287 17.3 翻译地理编码 289 17.4 标注地图 290 17.4.1 添加基本地图标注 291 17.4.2 添加自定义地图标注 292 17.5 小结 296 第18章 使用store kit实现应用内购买 297 18.1 建立沙盒测试环境 297 18.1.1 创建itunes测试用户 298 18.1.2 添加产品 299 18.2 创建一个简单的商店界面 301 18.3 小结 309 第19章 iphone sdk增强功能 311 19.1 自定义键盘附件 311 19.1.1 扩展uitextfield 312 19.1.2 实现自定义uitext field 314 19.1.3 自定义键盘 314 19.2 继续:iphone 4.0 sdk 316 19.2.1 多任务 316 19.2.2 用户体验增强功能 317 19.2.3 多媒体框架增强功能 317 19.2.4 game center 317 19.3 小结 318 附录a iphone os类参考 319 附录b 外部资源和参考资料 322 附录c 发布sdk程序 324 附录d 针对ipad更新当前应用程序 327 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。