第1章 初识AndroidStudio 1
1.1 什么是AndroidStudio 1
1.1.1 Android Studio简介 1
1.1.2 系统要求 2
1.1.3 下载地址 2
1.1.4 为什么要用Android Studio 2
1.2 Android Studio的特点 3
1.3 macOS环境配置 7
1.3.1 配置JDK 7
1.3.2 下载Android Studio 8
1.3.3 配置Android的环境变量 8
1.4 Windows环境配置 9
1.4.1 配置JDK 9
1.4.2 配置Android Studio 10
1.4.3 配置Android的环境变量 11
1.5 Linux 环境配置 12
1.5.1 配置JDK 12
1.5.2 配置Android Studio 12
1.5.3 配置Android的环境变量 13
1.6 认识欢迎界面 13
1.6.1 最近打开的项目 14
1.6.2 开始一个项目 14
1.7 认识配置界面 15
1.8 帮助和教程 19
1.9 更新AndroidStudio版本 22
1.10 配置Android Studio更新通道 23
1.10.1 在偏好设置中配置更新通道 23
1.10.2 在检测结果对话框中配置更新通道 23
1.10.3 单独下载最近更新的版本 23
1.10.4 四种版本的区别 24
1.11 在Android Studio中使用代理 25
1.12 认识偏好设置 26
1.12.1 基础配置 27
1.12.2 个性化配置 28
1.13 认识工作台 30
1.14 认识工具窗口 33
第2章 项目与模块 37
2.1 Android Studio的项目结构 37
2.1.1 项目和模块 37
2.1.2 基本的项目结构 38
2.2 导入项目和模块 40
2.2.1 导入Android Studio项目 40
2.2.2 导入Eclipse项目 40
2.2.3 导入Android示例代码 44
2.2.4 导入模块 44
2.2.5 导入.JAR/.AAR 46
2.2.6 从VCS检出项目 47
2.3 创建项目和模块 49
2.3.1 创建项目 49
2.3.2 创建应用程序模块 53
2.3.3 创建Android公共库模块 55
2.4 删除模块 57
2.5 添加so文件 58
2.6 创建类和文件 59
2.7 创建Activity 61
2.7.1 Activity模板列表 61
2.7.2 Activity Gallery 61
2.7.3 新建一个Activity 62
2.8 创建Fragment文件 64
2.9 创建Service文件 65
2.9.1 创建Service文件 66
2.9.2 创建Intent Service文件 66
2.10 创建自定义组件 67
2.11 创建App Widget 69
2.12 创建可编译的资源文件 70
2.12.1 可编译的资源文件 70
2.12.2 创建可编译的资源文件 72
2.12.3 资源限定符 74
2.13 创建不同分辨率的图标 77
2.13.1 启动图标 78
2.13.2 活动栏和选项卡图标 79
2.13.3 通知图标 80
2.14 创建矢量图 81
2.14.1 使用定义好的素材图标 81
2.14.2 使用本地的SVG文件 81
2.15 创建AIDL文件 82
2.16 创建Android文件夹 83
2.17 创建Resource Bundle文件 84
第3章 布局 86
3.1 认识布局 86
3.1.1 Android中定义布局的方法 86
3.1.2 快速开始 87
3.2 设计布局 88
3.2.1 文本编辑器 88
3.2.2 可视化布局编辑器 89
3.3 组件列表 90
3.4 预览 94
3.4.1 设置控件属性 94
3.4.2 警告和错误提示 94
3.4.3 界面缩放 96
3.4.4 控件操作 96
3.5 结构树 96
3.5.1 快速转换布局属性 97
3.5.2 选择控件 97
3.5.3 跳到源码 97
3.6 属性 97
3.7 工具栏 99
第4章 管理 103
4.1 项目窗口 103
4.1.1 视图模式 103
4.1.2 常用设置和操作 105
4.2 项目管理 110
4.2.1 打开和关闭项目 110
4.2.2 管理最近打开的项目 111
4.3 文件管理 112
4.3.1 文件同步 112
4.3.2 导出到HTML 112
4.3.3 切换文件编码方式 113
4.3.4 切换行分隔符 113
4.3.5 使文件只读 114
4.3.6 使用省电模式 114
4.3.7 打开文件/文件夹所在磁盘目录 114
4.4 Android Studio管理 115
4.4.1 隐藏/显示/退出Android Studio 115
4.4.2 清除缓存/重启Android Studio 116
4.5 收藏夹 116
4.5.1 添加到收藏夹 116
4.5.2 管理收藏夹 118
4.6 TODO 119
4.6.1 添加TODO任务 119
4.6.2 查看TODO任务 120
4.6.3 TODO工具窗口常用操作 120
4.6.4 设置TODO 122
4.6.5 使用TODO分配代码Review任务 123
第5章 编辑 126
5.1 撤消/重做/剪切/复制/粘贴 126
5.2 复制技巧 127
5.2.1 复制为纯文本 127
5.2.2 复制引用 127
5.2.3 从复制历史中选择粘贴 127
5.2.4 设置粘贴历史记录的个数 128
5.2.5 复制行 128
5.3 合并两行内容 129
5.4 选择技巧 129
5.4.1 扩大选择范围 129
5.4.2 缩小选择范围 130
5.4.3 使用列选择模式 130
5.5 缩进设置 131
5.6 自动补全当前的语句 131
5.7 一键切换大小写字母 132
5.8 查找工具栏 132
5.8.1 打开查找工具栏 132
5.8.2 快速查找 133
5.8.3 查找范围设置 133
5.9 在查找结果中跳转 134
5.10 选择查找结果 134
5.11 指定查找路径 135
5.12 替换 136
5.13 指定替换路径 137
5.14 在结构中查找和替换 139
5.15 查找用法 141
5.16 设置查找用法的过程和范围 141
5.17 显示用法 144
5.18 查看在当前文件中的用法 144
5.19 在文件中高亮显示字符 145
5.20 最近查找 145
5.21 Macros (宏) 146
第6章 视图 148
6.1 工具窗口 148
6.1.1 显示/隐藏工具窗口 148
6.1.2 快速切换工具窗口 149
6.2 工作台管理 150
6.3 查看定义 151
6.4 查看同胞元素 152
6.5 查看文档 152
6.6 查看方法的参数信息 154
6.7 查看表达式的类型 155
6.8 查看上下文信息 155
6.9 查看源码 156
6.10 查看最近打开过的文件 156
6.11 查看最近改动过的文件 156
6.12 查看最近的改动 156
6.13 对比任意文件 158
6.14 将选中的文件和正在编辑的文件进行对比 160
6.15 将选中的文件和剪切板上的内容进行对比 160
6.16 切换编辑器配色方案 161
6.16.1 快速切换编辑器配色方案 161
6.16.2 切换编辑器配色方案 161
6.17 切换代码风格 161
6.18 切换键盘映射 162
6.19 快速切换视图模式 163
6.20 快速切换主题 164
6.21 设置编辑器是否显示空格 164
6.22 设置编辑器是否显示行号 165
6.23 设置编辑器是否显示缩进向导 166
6.24 设置编辑器是否使用自动换行 167
6.25 设置编辑器是否弹出导入提示 168
6.26 使用演示模式 169
6.27 使用免打扰模式 170
6.28 使用全屏模式 171
第7章 导航 172
7.1 搜索并打开类文件 172
7.2 搜索并打开某个文件 173
7.3 搜索并打开某个文件或方法174
7.4 使用自定义代码块 174
7.5 快速跳转到某一行代码176
7.6 快速跳转到光标的历史位置177
7.7 快速跳转到编辑过的历史位置178
7.8 标记书签 178
7.9 使用助记符标记书签 179
7.10 管理书签 179
7.10.1 在书签管理界面管理书签 180
7.10.2 在收藏夹中管理书签 181
7.11 快速跳转到导航栏 181
7.12 快速跳转到声明 181
7.13 快速跳转到实现 182
7.14 快速跳转到类型声明 182
7.15 快速跳转到父类 183
7.16 类和测试类之间快速跳转 184
7.17 查看相关联的文件 186
7.18 查看文件结构 187
7.19 查看类的层次结构图 188
7.20 查看方法类型的层次结构 189
7.21 查看方法调用层次结构 190
7.22 快速跳转到错误代码的位置 190
7.23 在方法间前后跳转 191
7.24 使用翻页功能 191
7.25 选择当前文件在哪里显示 192
7.26 光标快速跳转到编辑器 192
7.27 光标快速跳转到页首/页尾 193
第8章 编码 194
8.1 覆写或实现方法 194
8.2 实现接口方法 196
8.3 实现代理方法 196
8.4 生成构造函数 199
8.5 生成Getter和Setter方法 200
8.6 覆写equals和hashcode方法 200
8.7 覆写toString方法 201
8.8 插入版权信息 203
8.8.1 插入版权信息 203
8.8.2 配置版权信息 204
8.8.3 共享版权信息配置 207
8.9 提取或删除代码 208
8.10 自动补全提示 209
8.11 代码补全 210
8.12 补全循环扩展词 212
8.13 展开或折叠代码 213
8.13.1 展开或折叠当前代码块 213
8.13.2 展开或折叠当前代码块中的所有子模块 213
8.13.3 展开和折叠全部代码块 214
8.13.4 展开和折叠当前文件中的所有注释 214
8.13.5 指定展开层级 214
8.13.6 展开和折叠选中区域 215
8.13.7 折叠代码片段 215
8.14 插入代码模板 215
8.14.1 类中常用的缩写 215
8.14.2 方法中常用的缩写 216
8.15 使用代码模板包裹代码 218
8.16 查看和编辑代码模板 219
8.17 使用常用代码模板包裹代码 220
8.18 注释代码 222
8.19 格式化代码 222
8.20 自动缩进行 224
8.21 优化导入 224
8.22 重新排列代码 225
8.23 移动一段代码 225
8.24 移动一行代码 226
8.25 操作意图提示 227
8.26 正则表达式操作意图提示 228
第9章 检查 229
9.1 代码检查工具 229
9.2 全面了解Lint 230
9.2.1 Lint是什么 230
9.2.2 为什么要用Lint 230
9.2.3 Lint会检查哪些错误 230
9.2.4 Lint工作流程 231
9.2.5 报告中的Issue和Category 232
9.2.6 Lint使用场景 232
9.2.7 如何配置Lint检查 233
9.2.8 Lint命令行用法介绍 233
9.2.9 Lint命令行用法举例 235
9.3 执行一次代码检查 237
9.4 指定检查范围 239
9.4.1 先执行检查再指定范围 239
9.4.2 选定范围再执行检查 239
9.5 代码检查结果及辅助工具240
9.6 详解代码检查结果辅助工具242
9.6.1 重新执行代码检查 242
9.6.2 全部展开或折叠检查结果 242
9.6.3 在检查结果中快速上下跳转 243
9.6.4 自动定位到问题的源码 243
9.6.5 导出代码检查结果 243
9.6.6 按严重程度分组排查问题 244
9.6.7 按目录分组排查问题 244
9.6.8 过滤已解决的问题 244
9.6.9 高亮显示不同和仅显示不同 244
9.6.10 快速设置245
9.6.11 快速解决问题 245
9.6.12 对检查出的问题进行操作 246
9.7 禁用和启用某项检查 247
9.7.1 在检查结果中禁用和启用某项检查 247
9.7.2 在偏好设置中禁用和启用某项检查 248
9.8 忽略检查 249
9.9 在指定范围内执行某项检查252
9.10 解决检查出的问题 252
9.11 管理代码检查配置文件 253
9.12 配置代码检查规则 255
9.13 Android类目的所有检查项 259
9.14 Android Lint类目的检查项 260
9.15 在lint.xml文件中配置Lint检查 264
9.16 在Gradle中配置Lint检查 264
9.17 使用Gradle执行Lint检查 267
9.17.1 命令行执行Lint检查 267
9.17.2 Gradle工具窗口执行Lint检查 267
9.18 在Java和XML源码中配置Lint检查 267
9.18.1 在Java源码中配置Lint检查 267
9.18.2 在XML源码中配置Lint检查 268
9.19 代码清理 269
9.20 通过名字来指定代码检查项 271
9.21 配置当前文件自动检查的规则 272
9.22 导入并查看离线检查结果 274
9.23 自动添加是否可为空注解 275
9.24 分析依赖 276
9.25 分析反向依赖 277
9.26 分析模块依赖 278
9.27 分析循环依赖 279
9.28 分析数据流 279
9.29 分析堆栈信息 280
第10章 重构 282
10.1 重命名 282
10.1.1 重命名类 282
10.1.2 重命名变量 283
10.1.3 重命名文件 283
10.2 更改方法签名 284
10.3 迁移变量类型 284
10.4 转成静态方法 286
10.5 静态方法转为实例方法 287
10.6 移动类 288
10.7 移动静态方法 289
10.8 移动静态字段 290
10.9 复制 291
10.10 安全删除 291
10.11 提取变量 294
10.12 提取常量 295
10.13 提取字段 296
10.14 提取参数 298
10.15 提取函数式参数 300
10.16 提取参数对象 301
10.17 提取方法 303
10.18 提取方法对象 304
10.19 提取委托 304
10.20 提取接口 306
10.21 提取父类 307
10.22 内联方法 309
10.23 内联临时变量 310
10.24 查找并替换重复代码 311
10.25 反转布尔值 312
10.26 把成员拉到父类 313
10.27 把成员推到子类 314
10.28 尽可能使用接口 316
10.29 使用委托替换继承 318
10.30 移除中间人 321
10.31 包装方法返回值 323
10.32 将匿名类转成内部类 325
10.33 封装字段 326
10.34 使用查询替换临时变量 327
10.35 使用工厂方法替换构造方法 329
10.36 使用构建器替换构造方法 330
10.37 泛型化 332
10.38 国际化 333
第11章 构建 335
11.1 认识Gradle 335
11.1.1 Gradle是什么 335
11.1.2 Gradle中依赖的仓库 336
11.2 配置Gradle环境 338
11.3 Gradle Wrapper 339
11.4 查看和执行Gradle任务 340
11.4.1 查看当前项目支持的Gradle任务 340
11.4.2 执行Gradle任务 342
11.4.3 常用Gradle任务 342
11.4.4 Gradle工具窗口 343
11.5 构建项目和模块 345
11.5.1 编译项目 345
11.5.2 编译模块 346
11.5.3 设置自动编译项目 347
11.5.4 重新构建项目 347
11.5.5 Make Project与Rebuild Project的区别 348
11.5.6 清理项目 348
11.6 Gradle Script 348
11.6.1 Gradlew配置文件gradle-wrapper.properties 349
11.6.2 项目全局配置文件settings.gradle 350
11.6.3 本地属性配置文件local.properties 350
11.6.4 Gradle配置文件gradle.properties 351
11.6.5 代码混淆规则配置文件proguard-rules.pro 351
11.6.6 项目构建配置文件build.gradle 354
11.6.7 模块构建配置文件build.gradle 355
11.7 在项目结构中配置模块构建 357
11.7.1 配置应用程序属性 357
11.7.2 配置应用程序签名 358
11.7.3 配置应用程序特性 359
11.7.4 配置应用程序构建类型 361
11.7.5 配置应用程序依赖 364
11.8 签名和打包 365
11.8.1 创建签名证书 365
11.8.2 生成签名的APK 366
11.8.3 自动打包和签名 370
11.8.4 混淆打包 371
11.8.5 多渠道打包 372
11.9 配置开发者服务 377
第12章 运行和调试 378
12.1 运行和调试配置 378
12.1.1 运行和调试配置 378
12.1.2 Android应用程序配置 379
12.2 运行应用程序 383
12.3 调试应用程序 384
12.4 断点 388
12.4.1 行断点 388
12.4.2 方法断点 388
12.4.3 字段观察点 389
12.4.4 条件断点 390
12.4.5 临时断点 390
12.4.6 异常断点 391
12.4.7 日志断点 391
12.4.8 禁用断点 392
12.4.9 断点设置 392
12.5 帧调试窗口 393
12.6 变量调试窗口 394
12.7 监视窗口 397
12.7.1 添加变量或表达式到监视窗口 398
12.7.2 快捷工具 399
12.8 调试控制工具 399
12.9 步进调试工具 403
12.10 计算表达式 405
12.10.1 在堆栈帧中计算表达式或代码片段 405
12.10.2 计算任意表达式 407
12.10.3 快速计算表达式的值 407
12.10.4 选中表达式立即显示表达式的值 408
12.11 关联调试到Android进程 408
12.12 配置和运行单元测试 409
12.12.1 配置和运行本地单元测试 409
12.12.2 使用命令行运行单元测试 412
12.12.3 配置Android单元测试 412
第13章 工具 414
13.1 任务 414
13.1.1 任务介绍和配置 414
13.1.2 打开任务 417
13.1.3 创建新任务 418
13.1.4 任务变更列表 419
13.1.5 切换/关闭任务 420
13.1.6 管理上下文 420
13.2 JavaDoc 421
13.2.1 配置JavaDoc 421
13.2.2 生成JavaDoc 422
13.3 将当前文件保存为模板 424
13.4 IDE Scripting Console 425
13.5 管理Android SDK 425
13.5.1 管理Android SDK平台 426
13.5.2 管理SDK开发工具和更新站点 428
13.6 管理Android模拟器 429
13.6.1 认识模拟器 429
13.6.2 创建模拟器 430
13.6.3 启动模拟器 431
13.7 即时运行 433
13.8 Android监视器 436
13.9 截图 440
13.10 录像 440
13.11 捕获系统信息 441
13.12 布局解析 443
13.13 Logcat监视器 445
13.14 内存监视器 450
13.14.1 Dump Java Heap 452
13.14.2 Allocation Tracking 456
13.15 CPU监视器 458
13.16 网络监视器 460
13.17 GPU监视器 460
13.18 APK分析器 461
13.19 主题编辑器 462
第14章 版本控制 466
14.1 版本控制系统 466
14.2 Git偏好设置 469
14.3 配置GitHub账户信息 470
14.4 从GitHub克隆代码 470
14.5 将本地项目共享到GitHub 471
14.6 查看本地变更历史 472
14.7 Git添加文件 474
14.8 Git提交变更 475
14.9 Git文件逐行追溯 476
14.10 显示当前修订版本 477
14.11 Git文件比较 478
14.12 Git撤销操作 479
14.13 Git版本回退 480
14.14 Git查看提交历史 481
14.15 Git分支管理 483
14.16 Git创建标签 486
14.17 Git合并分支 487
14.18 解决Git合并中的冲突 488
14.19 Git使用Rebase合并分支 489
14.20 Git暂存/恢复暂存变更 494
14.21 Git获取最新内容 496
14.22 Git合并最新内容 497
14.23 Git更新项目 497
14.24 刷新文件状态 499
14.25 Git补丁 500
14.26 Git搁置变更 501
14.27 查看Git项目的提交信息 502
第15章 窗口 504
15.1 最小化和最大化窗口 504
15.2 保存和恢复窗口布局 504
15.3 工具窗口的显示和隐藏 505
15.4 工具窗口的隐藏技巧 506
15.5 工具窗口调整技巧 507
15.6 移动工具窗口的位置 508
15.7 工具窗口的查看模式 509
15.8 编辑器标签设置 512
15.9 快速切换编辑器标签 513
15.10 关闭编辑器标签 514
15.11 管理编辑器标签 514
15.12 标签显示位置 515
15.13 拆分编辑器窗口 516
15.14 多个项目之间切换 517
第16章 偏好设置 518
16.1 外观与行为 518
16.1.1 设置工具提示的延迟时间 518
16.1.2 设置在状态栏显示内存状态 519
16.1.3 对菜单选项和工具栏的工具进行增/删改 519
16.2 系统设置 519
16.3 键盘映射 522
16.4 编辑器常规设置 523
16.4.1 设置单击编辑器光标定位在一行的结尾或定位在单击的位置 523
16.4.2 设置鼠标悬停在元素上会显示文档提示 523
16.4.3 设置是否自动换行 524
16.4.4 设置使用command 鼠标控制代码的缩放 526
16.4.5 开启使用驼峰单词 526
16.4.6 关闭单词拼写检查 527
16.4.7 设置代码折叠规则 527
16.5 设置自动导入 528
16.5.1 设置粘贴时自动导入包 528
16.5.2 设置自动导入需要的包 528
16.5.3 设置是否弹出导入提示 529
16.6 编辑器外观 530
16.6.1 设置编辑器一直显示行号 530
16.6.2 设置编辑器显示方法分隔符 530
16.6.3 设置编辑器显示空格 530
16.6.4 设置编辑器显示缩进向导 531
16.7 代码补全 531
16.7.1 设置自动补全时是否区分大小写 531
16.7.2 加快自动弹出代码补全提示的速度 532
16.7.3 关闭自动弹出代码补全提示 533
16.7.4 设置查看方法参数信息的时候显示方法签名 533
16.8 文件标签 534
16.8.1 设置用星号标记修改过的文件标签 534
16.8.2 设置打开的文件标签可以多行显示 534
16.8.3 设置文件标签的显示位置 535
16.8.4 设置文件标签超过一定数量时的关闭规则 535
16.9 编辑器颜色 536
16.9.1 设置是否显示条标和条标的显示颜色 536
16.9.2 设置控制台的颜色 537
16.9.3 设置控制台的字体 538
16.9.4 自定义代码的颜色 539
16.10 代码风格 541
16.10.1 设置Java注释按缩进显示 541
16.10.2 设置语句不要都显示在一行 541
16.10.3 设置Java简单的类合并为一行 542
16.10.4 设置Java字段和变量列对齐 542
16.10.5 设置自动生成字段名称时添加前缀 542
16.11 文件和代码模板 543
16.11.1 设置新建文件的注释模板 543
16.11.2 模板中内置的变量 544
16.11.3 设置新建类文件模板 544
16.11.4 设置IDE和项目的编码 545
16.11.5 对动态模板进行增删改查 545
16.11.6 设置展开代码的按键 547
16.11.7 给一个文件类型添加匹配规则 547
16.11.8 添加一个自定义的文件类型 547
16.11.9 设置忽略某类文件或文件夹 548
16.12 插件 549
16.12.1 安装插件 550
16.12.2 禁用插件 553
16.12.3 卸载插件 554
16.12.4 常用插件 555
16.13 编译和构建 556
16.13.1 设置Android Studio的内存参数 556
16.13.2 设置自动编译项目 556
16.13.3 设置并行编译 557
16.13.4 调整编译内存大小 557
附录 Android Studio重要版本发布时间线 559
参考资料 560
· · · · · · (
收起)