热门关键字:  听力密码  单词密码  新概念美语  巧用听写练听力  零起点
图书信息

iOS项目开发实战

中国水利水电出版社
    【作 者】主编 赵善龙 刘俊驰 【I S B N 】978-7-5170-8448-8 【责任编辑】张玉玲 【适用读者群】本专通用 【出版时间】2020-03-31 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】224 【千字数】317 【印 张】14 【定 价】36 【丛 书】高等职业教育移动互联应用技术专业教材 【备注信息】移动终端,应用程序,程序设计
图书详情

    本书构建了iOS从入门到进阶过程中最重要的知识体系,将知识、技术与技巧充分渗透到多个独立且完整的iOS应用实战项目中,带领读者一同参与到真正的企业开发流程中,使读者有条不紊地掌握完整的项目开发技术,并具备企业级移动应用开发的能力。在程序实例讲解方面,注重对实际动手能力的指导;在遵循项目开发过程的同时,将重要的知识点和经验技巧以“关键知识点解析”的形式呈现给读者,这为初学者将学习与实践结合提供了很好的指导。

    本书可作为大学本科和高职高专有关课程的实训教材,也可供具备一定手机开发经验的开发者及iOS开发爱好者参考和使用。

    · 将知识、技术与技巧充分渗透到多个独立且完整的iOS应用实战项目中,带领读者一同参与到真正的企业开发流程中。

    · 在程序实例讲解方面注重对实际动手能力的指导。

    iOS系统是目前在智能移动平台上被广泛应用的移动端操作系统之一,具有很多优点:流畅稳定、低功耗、安全。来自苹果公司官方的调查显示iOS系统是目前全球用户量第二的移动操作系统,而且用户量每年还在不断增长。然而摆在众多开发者面前的问题是,很多开发者了解viewController的生命周期,却对生命周期各个方法的调用顺序及所做的操作不很清楚;很多开发者了解UI控件的使用方法,但在通过网络获取数据后刷新UI却力不从心;很多开发者了解如何使用UITableView展示列表数据,但当数据量稍微增大时,程序就会出现卡顿现象甚至崩溃;很多开发者可以熟练地绘制布局并在模拟器上完整显示,但一旦到了某些真机上,画面便惨不忍睹。事实上,如何综合地运用iOS开发技术进行规范的应用开发,如何使自己的开发技术与企业开发流程接轨,如何更好地优化应用,使应用适配更广泛的机型而且程序更加健壮,的确是让许多通过自学成长起来的开发者深受困扰的问题。凭借多年的院校教学经验和企业实践经验,我们深知iOS初学者在学习和成长过程中的痛点。针对这些痛点,本书规划了iOS从入门到进阶过程中最重要的知识体系,将知识、技术和技巧充分渗透到多个独立且完整的iOS应用实战项目中,带领读者一同参与到真正的企业开发流程中,使读者有条不紊地掌握完整的项目开发技术,循序渐进地具备企业级移动应用开发能力。

    在开始项目实战之前,需要读者对本书的知识结构体系图进行初步的了解,读者应在掌握预备知识的基础上对本书项目进行逐一学习。本书将着重对基础组件、UI、线程与线程间通信、网络通信、数据解析、数据存储六大部分在项目中的应用进行讲解。下面介绍每个项目重点训练的知识点。

    项目1主要针对项目构建、布局、基础控件和按钮的点击事件进行实战。

    项目2主要针对应用的架构搭建、UIScrollView和UITableView的使用方法和技巧、UICollectionView控件的用法进行实战。

    项目3主要针对视图控制器、多个标签页切换使用、自定义控件、Touch事件处理进行实战。

    项目4主要针对图片处理及优化、图片文件读写、媒体播放器调用进行实战。

    项目5主要针对线程间通信、GCD的基本用法、不同种类任务与队列的组合机制进行实战。

    项目6主要针对GCD异步获取数据并在UI界面刷新、Http、使用和读取沙盒(Documents)中的文件、利用NSURLSession工具实现网络通信进行实战。

    项目7主要针对XML解析、WebView、自定义菜单栏与滚动动画进行实战。

    项目8主要针对网络图片的处理、JSON解析、网络通信的封装、Application Extention的作用和简单实现进行实战。

    项目9主要针对访问手机通讯录、拦截来电和电话操作进行实战。

    项目10主要针对蓝牙通信进行实战。

    项目11主要针对Socket和消息队列进行实战。

    项目12主要针对百度地图、定位进行实战。

    本书由赵善龙、刘俊驰任主编,李博鑫、赵丹、赵清磊任副主编,具体编写分工如下:项目1由严铭昊编写,项目2由李旭东编写,项目3由徐宏吉编写,项目4由李博鑫编写,项目5、项目8、项目11由赵丹编写,项目6、项目9、项目10由赵清磊编写,项目7和项目12由刘俊驰编写,本书全部示例代码由徐宏吉负责基础框架搭建和功能验证,赵善龙负责全书的大纲拟定、项目规划、章节结构设计及统稿工作。另外还要感谢周益丹编辑对本书提出了非常宝贵的意见,特别是书中内容的编排、难易程度的把握、案例的选取和文叙风格的选定等。

    由于编者水平有限,书中不妥之处在所难免,恳请读者批评指正。

    前言

    项目1 简易计算器 2
    1.1 总体设计 2
    1.1.1 总体分析 2
    1.1.2 功能模块框图 3
    1.1.3 系统流程图 4
    1.1.4 界面设计 4
    1.2 详细设计 5
    1.2.1 模块描述 5
    1.2.2 源文件组及其资源规划 6
    1.2.3 主要方法流程设计 7
    1.3 代码实现 8
    1.3.1 显示界面布局 8
    1.3.2 控件设计实现 8
    1.3.3 控件事件处理方法实现 13
    1.3.4 数值计算方法实现 17
    1.4 关键知识点解析 18
    1.4.1 在程序中创建导航栏 18
    1.4.2 基础界面布局 20
    1.4.3 设置程序名称和图标 22
    1.4.4 常用文本输入控件及按钮 22
    1.4.5 为按钮增加多种样式 22
    1.5 问题与讨论 23
    项目2 天气预报(一)—基于离线数据的
    天气应用 24
    2.1 总体设计 24
    2.1.1 总体分析 24
    2.1.2 功能模块框图 25
    2.1.3 系统流程图 25
    2.1.4 界面设计 26
    2.2 详细设计 27
    2.2.1 模块描述 27
    2.2.2 源文件组及其资源规划 29
    2.2.3 主要方法流程设计 30
    2.3 代码实现 30
    2.3.1 显示界面布局 30
    2.3.2 控件设计实现 31
    2.3.3 主要代码功能分析 32
    2.4 关键知识点解析 37
    2.4.1 UIScrollView控件的用法 37
    2.4.2 UITableView控件的用法 38
    2.4.3 UICollectionView控件的用法 40
    2.5 问题与讨论 41
    项目3 天天爱读书手机阅读器 42
    3.1 总体设计 42
    3.1.1 总体分析 42
    3.1.2 功能模块框图 43
    3.1.3 系统流程图 43
    3.1.4 界面设计 43
    3.2 详细设计 44
    3.2.1 模块描述 44
    3.2.2 源文件组及其资源规划 45
    3.2.3 主要方法流程设计 46
    3.3 代码实现 47
    3.3.1 显示界面布局 47
    3.3.2 UIPageViewController的使用 47
    3.4 关键知识点解析 49
    3.4.1 UIPageViewController应用原理 49
    3.4.2 掌握自定义控件 50
    3.5 问题与讨论 51
    项目4 幻彩手机相册—基于本地图库的
    图片应用 52
    4.1 总体设计 52
    4.1.1 总体分析 52
    4.1.2 功能模块框图 52
    4.1.3 系统流程图 53
    4.1.4 界面设计 54
    4.2 详细设计 54
    4.2.1 模块描述 54
    4.2.2 源文件组及其资源规划 55
    4.2.3 主要方法流程设计 56
    4.3 代码实现 57
    4.3.1 显示界面布局 57
    4.3.2 读取手机图库方法实现 58
    4.3.3 图片方向的判断 60
    4.3.4 图片压缩 62
    4.4 关键知识点解析 64
    4.4.1 图片加载到内存时造成OOM异常 64
    4.4.2 大量图片的缓存处理 64
    4.5 问题与讨论 65
    项目5 学习监督器 66
    5.1 总体设计 66
    5.1.1 总体分析 66
    5.1.2 功能模块框图 67
    5.1.3 系统流程图 67
    5.1.4 界面设计 68
    5.2 详细设计 69
    5.2.1 模块描述 69
    5.2.2 源文件组及其资源规划 69
    5.2.3 时间设置界面设计 70
    5.2.4 后台线程设计 70
    5.3 代码实现 71
    5.3.1 显示界面布局 71
    5.3.2 使用GCD创建一个定时器 72
    5.3.3 监控网络变化 74
    5.3.4 时间比较 74
    5.3.5 一个简单的自定义控件 76
    5.4 关键知识点解析 76
    5.4.1 为什么使用GCD 76
    5.4.2 任务和队列 77
    5.4.3 GCD的其他方法 78
    5.5 问题与讨论 81
    项目6 简易网络音乐播放器 82
    6.1 总体设计 83
    6.1.1 总体分析 83
    6.1.2 功能模块框图 83
    6.1.3 系统流程图 83
    6.1.4 界面设计 84
    6.2 详细设计 85
    6.2.1 模块描述 85
    6.2.2 源文件组及其资源规划 86
    6.2.3 主要方法流程设计 87
    6.3 代码实现 88
    6.3.1 显示界面布局 88
    6.3.2 NSURLSession网络通信方法
    实现 89
    6.3.3 JSON数据解析方法实现 89
    6.4 关键知识点解析 90
    6.5 问题与讨论 92
    项目7 新闻客户端 93
    7.1 总体设计 93
    7.1.1 总体分析 93
    7.1.2 功能模块框图 94
    7.1.3 系统流程图 94
    7.1.4 界面设计 95
    7.2 详细设计 95
    7.2.1 模块描述 95
    7.2.2 源文件组及其资源规划 97
    7.2.3 主要方法流程设计 98
    7.3 代码实现 99
    7.3.1 显示界面布局 99
    7.3.2 RSS内容读取方法实现 100
    7.3.3 利用UIWebView显示HTML
    页面 103
    7.3.4 掌握UIScrollView的简单使用
    方法 103
    7.4 关键知识点解析 104
    7.4.1 RSS阅读器实现 104
    7.4.2 深入理解XML数据格式 106
    7.5 问题与讨论 109
    项目8 天气预报(二)—基于网络通信的
    天气应用 110
    8.1 总体设计 110
    8.1.1 总体分析 110
    8.1.2 功能模块框图 111
    8.1.3 系统流程图 111
    8.1.4 界面设计 111
    8.2 详细设计 112
    8.2.1 模块描述 112
    8.2.2 源文件组及其资源规划 114
    8.2.3 主要方法流程设计 116
    8.3 代码实现 116
    8.3.1 显示界面布局 116
    8.3.2 控件设计实现 116
    8.3.3 天气预报接口方法实现 117
    8.4 关键知识点解析 119
    8.4.1 在程序中使用天气预报接口 119
    8.4.2 采用APNs协议实现消息推送 122
    8.5 问题与讨论 127
    项目9 商务通讯录 128
    9.1 总体设计 128
    9.1.1 总体分析 128
    9.1.2 功能模块框图 129
    9.1.3 系统流程图 129
    9.1.4 界面设计 129
    9.2 详细设计 130
    9.2.1 模块描述 130
    9.2.2 源文件组及其资源规划 131
    9.2.3 主要方法流程设计 133
    9.3 代码实现 134
    9.3.1 显示界面布局 134
    9.3.2 实现过程 135
    9.3.3 检查权限授权 137
    9.4 关键知识点解析 138
    9.5 问题与讨论 139
    项目10 蓝牙打印机 140
    10.1 总体设计 140
    10.1.1 总体分析 140
    10.1.2 功能模块框图 140
    10.1.3 系统流程图 141
    10.1.4 界面设计 141
    10.2 详细设计 142
    10.2.1 模块描述 142
    10.2.2 源文件组及其资源规划 144
    10.2.3 主要方法流程设计 147
    10.3 代码实现 148
    10.3.1 显示界面布局 148
    10.3.2 控件设计实现 150
    10.3.3 图片算法处理 150
    10.3.4 蓝牙连接管理 151
    10.3.5 搜索连接蓝牙设备 152
    10.4 关键知识点解析 153
    10.5 问题与讨论 154
    项目11 简信聊天—基于Socket的
    即时通信应用 155
    11.1 总体设计 155
    11.1.1 总体分析 155
    11.1.2 功能模块框图 155
    11.1.3 系统流程图 156
    11.1.4 界面设计 156
    11.2 详细设计 157
    11.2.1 模块描述 157
    11.2.2 源文件组及其资源规划 159
    11.2.3 主要方法流程设计 161
    11.3 代码实现 162
    11.3.1 显示界面布局 162
    11.3.2 控件设计实现 163
    11.3.3 发送接收消息 176
    11.4 关键知识点解析 180
    11.4.1 Socket定义 180
    11.4.2 Socket与HTTP对比 180
    11.4.3 使用Socket通信 180
    11.5 问题与讨论 182
    项目12 易行打车 183
    12.1 总体设计 183
    12.1.1 总体分析 183
    12.1.2 功能模块框图 183
    12.1.3 系统流程图 184
    12.1.4 界面设计 185
    12.2 详细设计 185
    12.2.1 模块描述 185
    12.2.2 源文件组及其资源规划 187
    12.2.3 主要方法流程设计 188
    12.3 代码实现 189
    12.3.1 显示界面布局 189
    12.3.2 申请百度地图API key 191
    12.3.3 地图组件的初始化与显示页面
    基类设计 192
    12.3.4 地图操作与显示类的设计实现 199
    12.3.5 订单列表和处理 204
    12.4 关键知识点解析 208
    12.4.1 路径检索和地图标注 208
    12.4.2 iOS的3种定位方式 214
    12.5 问题与讨论 216
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册