img
share 分享

Android Studio开发实战:从零基础到App上线

作者:欧阳燊

出版社:清华大学出版社

ISBN:9787302470069

VIP会员免费 (仅需0.8元/天) ¥ 64.0

温馨提示: 价值40000元的1000本电子书,VIP会员随意看哦!

电子书推荐

更多资源 展开

Android Studio开发实战:快速、高效地构建Android应用.[美]Adam Gerber(带详细书签) PDF 下载 高清 完整版 评分:

编辑推荐 ● 如何开始使用Android Studio IDE ● 如何导航及使用Android Studio ● 如何使用Git进行版本控制 ● 如何使用Gradle ● 如何使用崭新的Android Wear框架 ● 如何使用Android Studio调试代码 ● 如何管理应用项目 ● 如何测试应用 ● 如何分析并重构代码 ● 如何定制Android Studio 内容简介 《Android Studio实战 快速、高效地构建Android应用 全面涵盖关于Android Studio及其庞大工具生态系统的内容,包括Git和Gradle:除了介绍Android Studio与Git(用于源代码管理)和Gradle(一款构建及测试工具)的无缝工作方式外,还演示了如何使用诸如GitHub和Bitbucket的远程Git Web服务进行开发/协作。本书配有4个完整的Android项目,它们均可从公共的Git仓库下载。   通过学习本书,读者将能够掌握Android工具生态系统中*、最实用的工具,以及Android App开发中的*实践。可以将实验代码作为模板或框架并在自己的类似App中重用和定制。   Android Studio是一款简单直观、功能丰富且极具包容性的集成开发环境,在开发Android App方面比Eclipse更加高效易用。有了这本书,你将快速掌握Android Studio并*化Android开发时间。远程Web服务上的源 代码均面向*的Android Studio发行版——1.2版。 主要内容 ● 如何开始使用Android Studio IDE ● 如何导航及使用Android Studio ● 如何使用Git进行版本控制 ● 如何使用Gradle ● 如何使用崭新的Android Wear框架 ● 如何使用Android Studio调试代码 ● 如何管理应用项目 ● 如何测试应用 ● 如何分析并重构代码 ● 如何定制Android Studio 作者简介 Adam Gerber是Android Studio的最早期使用者之一,他使用Android Studio开发专业的Android应用并将其用于自己在芝加哥大学开设的Android应用开发和技术创业等课程的教学。Adam是“芝加哥创新交流”的成员并从事技术和创业领域的咨询工作。Adam拥有伊利诺伊大学工业设计本科学位以及位于巴黎的法国国立工艺学院管理科学博士学位。Adam的邮箱是gerber@uchicago.edu。 Clifton Craig从事软件工程师的工作已逾16载。他的经验涵盖了J2ME/BlackBerry、Android和iOS,以及基于JEE的后端系统。他参与过一些备受瞩目的项目,包括MapQuest天然气价格门户网站、基于J2ME和Android的MapQuest移动版、基于iOS的MapQuest移动版以及Skype的iOS和Android版。他维护着一个技术博客(cliftoncraig.com),其中涵盖各种软件主题,从Android和Linux到iOS和OS X。他有着从军经历而且是一位狂热的自行车迷、虔诚的基督徒以及两个天才小女孩的父亲。 目  录 第1章 Android Studio入门 1 1.1 在Windows上安装Java开发 工具包 1 1.1.1 在Windows上下载JDK 2 1.1.2 在Windows上执行JDK向导 3 1.1.3 配置Windows环境变量 4 1.2 在Mac上安装Java开发工具包 7 1.2.1 在Mac上下载JDK 7 1.2.2 在Mac上执行JDK向导 8 1.2.3 在Mac上配置JDK版本 9 1.3 安装AndroidStudio 10 1.4 创建第一个项目:HelloWorld12 1.5 使用Android虚拟设备管理器 15 1.6 在AVD上运行HelloWorld 16 1.7 在Andriod设备上运行HelloWorld 17 1.8 小结 19 第2章 在Android Studio中遨游 21 2.1 编辑器 22 2.1.1 Editor选项卡22 2.1.2 折叠线 23 2.1.3 标记栏 23 2.1.4 工具按钮 23 2.1.5 默认布局 24 2.2 导航工具窗口 24 2.2.1 Project工具窗口 25 2.2.2 Stucture工具窗口 26 2.2.3 Favorites工具窗口 26 2.2.4 TODO工具窗口27 2.2.5 Commander工具窗口 27 2.3 主菜单栏 27 2.4 工具栏 28 2.5 导航栏 28 2.6 状态栏 28 2.7 常用操作 29 2.7.1 选择文本 29 2.7.2 使用Undo和Redo 29 2.7.3 找到最近的文件 30 2.7.4 遍历最近的导航操作30 2.7.5 剪切、复制和粘贴30 2.8 上下文菜单 31 2.9 获取帮助 32 2.10 使用键盘导航 32 2.10.1 Select In命令 32 2.10.2 Class命令33 2.10.3 File命令 33 2.10.4 Line命令 33 2.10.5 Related File命令 33 2.10.6 Last Edit Location命令 33 2.10.7 Type Hierarchy命令 34 2.10.8 Declaration命令 34 2.11 查找和替换文本 34 2.11.1 Find命令 34 2.11.2 Find in Path命令 34 2.11.3 Replace命令35 2.11.4 Replace in Path命令 35 2.12 小结 35 第3章 在Android Studio中编程 37 3.1 使用代码折叠 37 3.2 执行代码补全 39 3.3 注释代码 42 3.4 使用代码生成 42 3.4.1 构造函数 43 3.4.2 getter/setter 44 3.4.3 重载方法 44 3.4.4 toString()方法 45 3.4.5 代理方法 46 3.5 插入动态模板 47 3.6 移动代码 48 3.7 设计代码风格 50 3.7.1 Auto-Indent Lines选项 51 3.7.2 Rearrange Code选项 51 3.7.3 Reformat Code选项 52 3.7.4 Surround With 52 3.8 小结 53 第4章 重构代码 55 4.1 重命名 56 4.2 修改签名 57 4.3 类型迁移 58 4.4 移动 58 4.5 复制 59 4.6 安全删除 60 4.7 抽取 60 4.7.1 抽取变量 61 4.7.2 抽取常量 61 4.7.3 抽取字段 62 4.7.4 抽取参数 62 4.7.5 抽取方法 63 4.8 高级重构 65 4.8.1 下推成员和上拉成员65 4.8.2 使用代理代替继承66 4.8.3 封装字段 67 4.8.4 封装方法返回值 68 4.8.5 使用工厂方法代替构造函数 69 4.8.6 将匿名类转换为内部类69 4.9 小结 70 第5章 备忘录实验:第1部分 71 5.1 启动新项目 73 5.2 初始化Git仓库 74 5.3 构建用户界面 77 5.3.1 使用可视化设计器78 5.3.2 编辑布局的原始XML78 5.3.3 添加视觉增强效果83 5.3.4 向ListView添加条目 84 5.3.5 设置操作栏溢出菜单86 5.4 持久化备忘录 87 5.4.1 数据模型 87 5.4.2 SQLite API 89 5.5 小结 95 第6章 备忘录实验:第2部分 97 6.1 添加/删除备忘 97 6.2 响应用户交互 100 6.3 提供多选上下文菜单102 6.3.1 兼容较早的SDK104 6.3.2 添加上下文操作模式105 6.4 实现添加、编辑和删除107 6.4.1 设计自定义对话框108 6.4.2 将设计转换为代码108 6.4.3 创建自定义对话框110 6.4.4 添加自定义图标113 6.5 小结 115 第7章 Git入门 117 7.1 安装Git 117 7.2 忽略文件 119 7.3 添加文件 120 7.4 克隆参考App:Reminders 121 7.4.1 分叉和克隆 121 7.4.2 使用Git日志 124 7.4.3 分支 125 7.5 在分支上开发 125 7.5.1 Git提交和分支131 7.5.2 回退在哪里? 132 7.5.3 合并 136 7.5.4 Git重置修改历史138 7.5.5 Git变基 142 7.5.6 分离头部 144 7.5.7 相对引用 146 7.5.8 在变基时解决冲突148 7.5.9 Git远端 153 7.6 小结 154 第8章 设计布局 155 8.1 Activity 155 8.2 View和ViewGroup156 8.2.1 预览面板 157 8.2.2 宽度和高度 159 8.2.3 设计器模式 161 8.2.4 帧布局 161 8.2.5 线性布局 164 8.2.6 相对布局 166 8.2.7 嵌套布局 169 8.2.8 列表视图 173 8.3 布局设计指导原则 180 8.3.1 覆盖各种显示尺寸180 8.3.2 组合在一起 183 8.4 Fragment 190 8.5 小结 200 第9章 货币实验:第1部分 201 9.1 Currencies规范201 9.2 初始化Git仓库 205 9.3 修改MainActivity的布局 207 9.4 定义颜色 211 9.5 为布局应用颜色 212 9.6 创建并应用样式 213 9.7 创建JSONParser类 216 9.8 创建启动界面 217 9.9 获取JSON格式的活动货币代码 220 9.10 启动MainActivity223 9.11 小结 224 第10章 货币实验:第2部分 225 10.1 定义MainActivity的成员 225 10.2 从bundle中解压出货币代码 226 10.3 创建选项菜单 227 10.4 实现选项菜单行为229 10.5 创建spinner_closed布局 230 10.6 将mCurrencies绑定到选择列表 231 10.7 将选择列表行为代理给MainActivity232 10.8 创建偏好管理器 234 10.9 根据给定代码查找位置235 10.10 从货币字符串中抽取代码 236 10.11 实现共同偏好 237 10.12 按钮单击行为 239 10.13 保存开发者密钥240 10.14 获取开发者密钥241 10.15 CurrencyConverterTask 242 10.15.1 onPreExecute() 246 10.15.2 doInBackground() 246 10.15.3 onPostExecute() 246 10.16 按钮选择器 247 10.17 启动图标 248 10.18 小结 249 第11章 测试和分析 251 11.1 创建新的仪器测试251 11.1.1 定义SetUp()和TearDown()方法 252 11.1.2 在MainActivity中定义回调 254 11.1.3 定义一些测试方法255 11.1.4 运行仪器测试257 11.1.5 修改Bug 258 11.2 使用Monkey259 11.3 使用分析工具 260 11.3.1 检查代码 260 11.3.2 分析依赖 261 11.3.3 分析栈轨迹 262 11.4 小结 264 第12章 调试 265 12.1 日志 265 12.1.1 使用logcat266 12.1.2 写入Android日志 268 12.2 捕捉Bug! 268 12.2.1 使用交互式调试器272 12.2.2 表达式求值 275 12.2.3 使用栈轨迹 277 12.2.4 探索交互式调试的工具窗口 280 12.2.5 使用断点浏览器281 12.2.6 条件断点 283 12.3 小结 285 第13章 Gradle 287 13.1 Gradle语法288 13.2 IntelliJ核心构建系统 289 13.3 Gradle构建概念290 13.3.1 Gradle Android结构 290 13.3.2 项目依赖 291 13.4 案例研究:使用Gradle的天气预报项目 292 13.5 Android库依赖299 13.5.1 Java库依赖303 13.5.2 第三方库 311 13.6 打开较旧的项目 313 13.7 小结 314 第14章 更多SDK工具 315 14.1 Android设备监视器 315 14.1.1 线程监视器 316 14.1.2 堆监视器 317 14.1.3 分配跟踪器 318 14.1.4 网络统计 319 14.1.5 层次查看器 320 14.2 Android监视器323 14.2.1 内存监视器 323 14.2.2 方法跟踪工具324 14.2.3 分配跟踪器 325 14.2.4 屏幕抓取 325 14.3 导航编辑器 327 14.3.1 设计用户界面328 14.3.2 导航编辑器初步328 14.3.3 连接Activity330 14.3.4 编辑菜单 331 14.4 终端 333 14.4.1 查询设备 333 14.4.2 安装APK 333 14.4.3 下载文件 333 14.4.4 上传文件 333 14.4.5 端口转发 334 14.5 Google云工具334 14.5.1 创建HelloCloud前端 335 14.5.2 创建Java后台模块 337 14.5.3 组合在一起 339 14.5.4 部署到AppEngine 343 14.6 小结 346 第15章 Android可穿戴设备实验 347 15.1 设置可穿戴设备环境347 15.1.1 安装设备驱动程序347 15.1.2 设置SDK工具 350 15.1.3 设置可穿戴虚拟设备350 15.1.4 设置Android可穿戴设备硬件 353 15.2 创建MegaDroid项目 353 15.2.1 针对屏幕的优化技术355 15.2.2 构建watch-face服务 356 15.2.3 初始化可绘制资源和样式 358 15.2.4 管理手表更新359 15.2.5 绘制界面 363 15.3 小结 367 第16章 定制Android Studio 369 16.1 代码风格 370 16.2 外观、颜色和字体372 16.3 键盘映射 374 16.4 宏 375 16.5 文件和代码模板 375 16.6 菜单和工具栏 377 16.7 插件 378 16.8 小结 380 前 言 大约5.3亿年前,在那个地质学家称之为“寒武纪大爆发”的时代,包括现存所有门在内的大量物种在短短100万年的时间迅速出现——而这对于地质学时间来说仅仅是一眨眼工夫。科学家们对于此现象一直感到非常惊讶,达尔文自己都认为“寒武纪大爆发”发生如此之快,甚至让他的自然进化论产生了疑点。今天,我们正在经历着科技领域的“寒武纪大爆发”。美国劳工统计局预测现在的高中毕业生在其一生中将从事11份工作,而这种职业生涯短暂现象主要归因于科技的快速变化1。 技术会衍生出更多的技术,而新的技术也正在加速发展。有些新技术几年之后依然会存在,但大多数将会消失。没有比投入时间和精力去掌握一门已经过时或者效用短暂的新技能更糟糕的事情了。我们编写本书是因为相信其中涵盖的工具和技术将会留存下来,而且值得你为之投入。 小即是美 摩尔定律是无情的,它指出CPU的处理能力大约每18个月会翻一倍。在过去几年里,笔记本电脑已经达到了与体积更大的桌面电脑相同的性能。笔记本电脑和平板电脑占据了2014年PC销售额的81%2,而且销量还会继续增长,相反桌面电脑的销量将会下滑。没有哪个人或组织能够阻止或逆转这种趋势——这是经济规律的力量,是个体选择集聚的结果。笔记本电脑在未来大约10年将会是脑力工作者的首选工具。然而,一场悄无声息的革命正在发生,它将会很快推翻全能的笔记本电脑。大约到2025年,或者可能更早,我们的智能手机将会达到与笔记本电脑相同的性能——也就是说,更大体积的外形已经不再具备任何性能优势了。最终,我们的移动电脑(Mobile Computer,MC)将用于大多数计算应用,即使是那些你我现在认为只能在笔记本电脑上完成的应用。这场变革是可预见的,与推翻桌面电脑的变革一样确定。同时,你可以期望MC(换句话说,智能手机或平板电脑)开始发挥出和笔记本电脑一样的功能,包括连接诸如键盘、显示器和鼠标等外围设备。 PC时代即将结束,但MC时代其实更具个性化。不久,一系列新型可穿戴设计即将可用,例如手表、眼镜和鞋子。我们预见在不久后的某一天,我们将会在身上穿着自己的电脑,并在显示器、键盘和鼠标这些外围设备可用的地方连接它们。这将会是一个真正的个人电脑时代,尽管我们不大可能再这样称呼它了。 Android的优势 如果渴望成为一名Android开发者,那么你已经做出了极好的选择。在未来的10年里,这个不断发展的世界上的数十亿人都会来到线上。对于这些人中的大多数,他们的第一部电脑将会是智能手机,而这些智能手机中的大部分将会搭载Android系统3。我们的乐观是有充分原因的,因为已经有了大量可供推算的历史数据。Gartner Group公司指出2015年将售出12.5亿部Android设备4。在撰写本书时,Android独占了超过四分之三的中国市场份额5,而中国消费者在移动设备上的投入是惊人的,一些人会在新款移动设备上花费70%的月薪,因为互联是参与全球经济的先决条件6。在绝对数量上,中国是最大的市场,但我们能够在所有发展中国家观察到类似的趋势。更进一步,由于Android操作系统是开源免费的,因此它几乎总是电视游戏机、游戏系统、增强现实系统以及大量其他电子设备厂商的首选。 出于多种原因,Android将继续巩固其在全球市场的主导地位。Android的模块化架构允许进行各种各样的配置和定制。Android设备标配的所有核心应用均可以被任意数量的第三方应用替代,这包括类似电话拨号器、电子邮件客户端、浏览器甚至操作系统导航器等应用。可用的Android设备有着各种各样令人惊讶的形状和功能,有Android增强现实眼镜、Android游戏机(Ouya是最著名的)、Android手表、各种尺寸的Android平板电脑,当然还有Android智能手机。 Android的核心技术毫不逊色于它的主要竞争者。Android的包容性和开源许可证已经吸引了大量盟友,包括三星——全球最具创新性的公司之一。免费7和可定制的操作系统意味着Android设备厂商可以专注于向市场上推出优秀的产品,而高度竞争的Android设备市场也会持续生产出廉价、高质量且结构上开放的设备。 Android Studio是革命性的 作为一名脑力劳动者,工具的选择极其重要。我们总是在寻求可以提高生产效率并能自动完成工作的工具。某些工具有着显而易见的好处,人们会立刻采纳它。Android Studio就是一款这样的工具。 2013年在Google I/O预发布AndroidStudio几天之后,我们就接触了它。在那以前,我们在专业领域和教学时均使用Android开发者工具(Android Developer Tool,ADT)。ADT是一个Android开发环境,内置于一个称为Eclipse的开源集成开发环境(IDE)中。虽然Android Studio仍处于早期预发布阶段,但我们已开始在专业领域内使用AndroidStudio。 Android Studio是JetBrains和Google合作的产物。Android Studio基于JetBrain的IntelliJ构建,因此其功能是IntelliJ的超集。能够使用IntelliJ做到的大多数事情,都可以在Android Studio中完成。Android Studio是革命性的,因为它流程化了Android开发过程并让Android开发比以前更加容易接近8。AndroidStudio目前是Android的官方IDE。 Android工具生态系统 Android是一个有着自身工具生态系统支持的技术平台。紧随Android Studio之后,Git是Android生态系统中下一个最重要的工具。Git是一款分布式的源代码管理工具,它正在迅速成为标准,不仅是在移动开发领域,而是在整个软件工程领域。我们所有的移动开发项目均使用Git来做版本控制,没有例外。Git足可以用一本书来介绍,但幸运的是,你无须了解Git的所有功能就可以熟练地使用它。Android Studio包含优秀的、全功能的且已集成的Git工具,它有着令人印象深刻的图形用户界面。本书涵盖了成为高效Git用户所需要了解的特性,如果想要深入掌握关于这个不可或缺工具的知识,我们为你指出了进一步学习所需的资源。 Android生态系统中的另一个重要工具是Gradle。Gradle是一款类似于Ant和Maven的构建工具,它允许你管理库和库项目、运行仪器测试以及创建条件构建。Android Studio在库管理方面本身已经很不错了,但Gradle使得此项任务更加便捷。与Git一样,Gradle已经完全集成到AndroidStudio,而且拥有令人印象深刻的界面,使得用户能够图形化地检查Gradle文件并监测Gradle构建过程的输出。 Android和Java 如果在没有充分了解Java的情况下尝试在AndroidStudio中开发Android App,那么你将会遭遇挫折。出于诸多原因,Java是一门极其有用且流行的编程语言。或许Java流行的最重要原因是其内存托管机制。内存托管意味着程序员不必考虑释放堆内存,也不必担心内存泄漏。在内存托管环境中进行开发的程序员通常更高效,而且程序的运行时错误会更少。和Java类似,Android也是一种内存托管的编程环境。托管内存被证明是一个非常好的思路,使得微软和苹果公司均在各自的移动开发平台中采用了此模型9。 从ADT/Eclipse转型 如果你是一位有经验的Android开发者而且习惯使用ADT编程,那么你会收获惊喜。幸运的是,所有SDK工具(例如DDMS和Hierarchy Viewer)都依然可用,你将发现在Android Studio中很容易就可以访问到它们。如果你是一位ADT用户,那么你可能需要不断地清理并重新构建项目,以便资源能够与源代码同步(可怕的R.java同步错误)。在使用AndroidStudio的这些日子里,我们一直没有被这个问题困扰过。如果你是一位有经验的ADT用户,那么为了提升使用Android Studio的效率,你将需要学习一些键盘快捷键、熟悉Gradle以及适应Android Studio的表现逻辑。总而言之,享受Android Studio带来的强大功能和乐趣只需付出很小的代价。 本书约定 Android Studio在操作系统之间保持了高度的一致性。事实上,Windows和Linux中的用户界面几乎就是一样的。不过,Mac OS用户将会发现部分菜单的位置和键盘快捷键是不同的。当涉及需要系统导航的内容时,我们使用Windows。不过,当给出键盘快捷键时,我们将同时包含Windows-Linux和Mac快捷键,中间使用竖线分隔(例如,Ctrl K| Cmd K)。我们会适时为Mac用户给出提示、链接和其他资源。 源代码 读者在学习本书中的示例时,可以手动输入所有的代码,也可以使用本书附带的源代码文件。本书使用的所有源代码都可以从http://www.apress.com下载,还可访问www.tupwk.com.cn/downpage来下载源代码。下载代码后,只需要用自己喜欢的解压缩软件进行解压缩即可。

...展开详情
上传时间:2018-01 大小:74.2MB
热门图书