Head First Android开发,第三版

书中描述

没有一个

出版商资源

视图/提交勘误表

表的内容

  1. 1.开始:潜水
    1. 欢迎来到Androidville.
      1. 布局定义了每个屏幕的外观
      2. 活动定义应用程序做什么
      3. 可能还需要额外的资源
    2. 活动和布局构成了应用程序的主干
    3. 下面是我们要做的
    4. Android Studio:你的开发环境
      1. 你需要安装Android Studio
    5. 安装Android工作室
    6. 构建一个基本应用程序
    7. 如何构建应用程序
      1. 1.创建一个新项目
      2. 2.选择一个项目模板
      3. 3.配置您的项目
    8. 您已经创建了您的第一个Android项目
    9. 剖析你的新项目
      1. 文件夹结构包括不同类型的文件
    10. 在项目中引入密钥文件
    11. 使用Android Studio编辑器编辑代码
      1. 代码编辑器
      2. 设计编辑器
    12. 到目前为止的故事……
    13. 如何在物理设备上运行应用程序
      1. 1.在您的设备上启用USB调试
      2. 2.设置您的计算机以检测该设备
      3. 3.使用USB电缆将设备插入计算机
      4. 4.运行应用程序
    14. 如何在虚拟设备上运行应用程序
    15. 创建Android虚拟设备(AVD)
      1. 打开Android虚拟设备管理器
      2. 选择硬件
      3. 选择一个系统映像
      4. 验证AVD配置
      5. 创建虚拟设备
      6. 在AVD上运行应用程序
    16. 编译、打包、部署、运行
    17. 测试驱动
    18. 刚才发生了什么?
    19. 改进应用程序
      1. 该应用程序有一个活动和一个布局
      2. 活动控制应用程序做什么
      3. 布局控制应用程序的外观
    20. 布局是什么?
      1. 设计编辑器
      2. 代码编辑器
    21. xml有两个元素
    22. 更新布局中显示的文本
    23. 代码是什么
    24. 测试驱动
    25. 你的Android工具箱
  2. 2.构建交互式应用程序:能做某事的应用程序
    1. 让我们构建一个啤酒顾问应用程序
    2. 下面是我们要做的
    3. 创建项目
    4. 我们已创建默认活动和布局
    5. 仔细看看设计编辑器
    6. 使用设计编辑器添加一个按钮
      1. 设计编辑器的更改反映在XML中
    7. activity_main.xml有一个新的按钮
      1. 按钮和文本视图是同一Android视图类的子类
    8. 仔细看看布局代码
      1. < LinearLayout >元素
      2. 按钮元素
      3. TextView元素
    9. 让我们更新布局XML
    10. XML更改反映在设计编辑器中
    11. 测试驱动
    12. 布局有警告......
      1. ......因为有硬编码的文字
    13. 将文本放在字符串资源文件中
      1. Android Studio帮助你提取字符串资源
    14. 提取String资源
      1. 一个String资源已经添加到strings.xml中
    15. xml使用String资源
      1. 您还可以手动提取String资源
    16. 添加并使用一个新的String资源
    17. 测试驱动
    18. 向微调器添加值
      1. 添加数组资源类似于添加字符串
    19. 将字符串数组添加到strings.xml
      1. 获取微调器以显示数组的值
    20. Activity_main.xml的完整代码
    21. 测试驱动
    22. 我们需要让应用程序具有交互性
    23. MainActivity代码是什么样子的
    24. 一个按钮可以监听点击事件…
      1. ...使用onclicklistener
    25. 参考按钮......
      1. ...并调用其SetonClickListener方法
    26. 向setOnClickListener方法传递一个lambda
    27. 如何编辑文本视图的文本
      1. 如何获得微调器的选择值
    28. MainActivity.kt的更新代码
    29. 运行代码时会发生什么
    30. 测试驱动
    31. 添加getBeers()方法
    32. MainActivity.kt的完整代码
    33. 运行代码时会发生什么
    34. 测试驱动
    35. 你的Android工具箱
  3. 3.布局:是一个布局
    1. 一切都从布局开始
    2. Android有不同类型的布局
      1. 为屏幕设计使用最好的布局
    3. 让我们构建一个线性布局
      1. 创建一个新项目
    4. 如何定义线性布局
    5. 方向可以是垂直的也可以是水平的
    6. 使用填充为布局的边缘添加空间
    7. 我们目前的布局代码
    8. 编辑文本允许您输入文本
    9. 向布局XML添加视图
    10. 通过增加重量来制造景观街景
    11. 如何为一个视图添加权重
    12. 如何将重量添加到多个视图
    13. 重力属性控制视图内容的位置
    14. 可以在android:gravity属性中使用的值
    15. 故事到目前为止
    16. 布局重力控制布局中视图的位置
    17. android:layout-gravity属性可以使用更多的值
    18. 使用边距添加视图之间的空间
    19. 完整的线性布局代码
    20. 测试驱动
    21. 你的活动代码告诉Android它使用的布局
      1. 布局的视图被膨胀成对象
    22. 布局通货膨胀:一个例子
    23. 帧布局堆叠其视图
      1. 创建一个新项目
      2. 如何定义一个框架布局
    24. 将图像添加到项目中
    25. 框架布局按照视图在布局XML中出现的顺序来堆叠视图
      1. 测试驱动
    26. 所有的布局都是一种ViewGroup类型…
      1. ...和一个ViewGroup是一种视图
    27. 滚动视图插入一个垂直滚动条
    28. 如何添加滚动视图
    29. 测试驱动
    30. 你的Android工具箱
  4. 4.约束布局:把东西放回原位
    1. 嵌套布局重新审视
    2. 嵌套布局可能效率低下
    3. 引入约束布局
      1. 您在视觉上设计约束布局
    4. 创建一个新项目
      1. 将String资源添加到strings.xml中
      2. 让activity_main.xml使用约束布局
    5. 使用蓝图工具
    6. 使用约束位置视图
      1. 我们将向按钮添加一个水平约束
    7. 添加垂直约束
      1. 改变视图的边距
    8. 对蓝图的更改反映在XML中
    9. 如何使视图居中
    10. 通过更新偏见来调整观点的位置
    11. 如何更改视图的大小
      1. 1.使视图的大小固定
      2. 2.让它足够大
      3. 3.匹配视图的约束
      4. 4.指定宽高比
    12. 被约束
    13. 成为约束解
    14. 如何对齐视图
    15. 让我们建立一个真正的布局
    16. 首先,添加视图的顶行
    17. 让设计编辑器推断约束
    18. 推断约束功能猜测要添加哪些约束
    19. 将下一行添加到蓝图中……
      1. ...然后添加按钮
    20. 最后,为消息添加一个视图
    21. 测试驱动
    22. 你的Android工具箱
  5. 5.活动生命周期:作为一个活动
    1. 活动如何真正工作?
      1. 介绍秒表应用程序
    2. 创建一个新项目
      1. 为文本标签添加字符串资源
      2. 该布局包括一个Chronometer视图
    3. activity _main.xml的完整代码
    4. 活动代码控制秒表
      1. 计时仪的主要性能和方法
    5. MainActivity.kt的完整代码
    6. 当你运行应用程序的时候会发生什么
    7. 测试驱动
    8. 但有一个问题…
    9. 刚才发生了什么?
    10. 旋转屏幕会改变设备配置
    11. 活动的状态
    12. 活动生命周期:从创建销毁
    13. 您的活动继承生命周期方法
    14. 将当前状态保存在一个Bundle中
      1. 使用put方法添加值
      2. 使用get方法检索值
    15. 在onSaveInstanceState()中保存状态
      1. 使用onCreate()恢复状态
    16. 更新后的MainActivity。kt代码
    17. 当你运行应用程序的时候会发生什么
    18. 测试驱动应用程序
    19. 一项活动的生活不只是创造和破坏
      1. 启动、停止和重新启动
    20. 活动生命周期:可见生命周期
    21. 我们需要实现另外两个生命周期方法
      1. 实现onStop()来暂停秒表
    22. 当应用变得可见时,重新启动秒表
    23. 更新后的MainActivity。kt代码
    24. 当你运行应用程序的时候会发生什么
    25. 测试驱动应用程序
    26. 如果一个活动只是部分可见呢?
    27. 活动生命周期:前景寿命
    28. 如果活动已暂停,则暂停秒表
    29. 完整的MainActivity。kt代码
    30. 当你运行应用程序的时候会发生什么
    31. 测试驱动
    32. 您的生命周期方法的方便指南
    33. 你的Android工具箱
  6. 6.片段和导航:构建多屏幕应用程序
    1. 大多数应用程序需要多个屏幕
    2. 使用导航组件在屏幕之间导航
      1. 每个屏幕都是一个片段
    3. 下面是我们要做的
    4. 添加更多String资源
    5. 将TitleFragment添加到项目中
    6. 片段代码看起来是什么样的
      1. 片段代码看起来类似于活动代码
    7. 片段布局代码看起来像活动布局代码
    8. 如何显示一个片段?
    9. 更新Mainactivity的Kotlin代码
    10. 代码是什么
    11. 测试驱动
    12. 创建ChooseTypeFragment
    13. 更新ChooseTypeFragment的布局
    14. 更新ChooseTypeFragment.kt
    15. 使用Navigation组件在片段之间导航
    16. 使用Gradle将Navigation组件添加到你的项目中
    17. 将版本号添加到项目的build.gradle
    18. 向应用的build.gradle中添加依赖项
    19. 创建一个导航图
    20. 向导航图添加片段
    21. 使用操作连接片段
      1. 每个操作都需要一个唯一的ID
    22. 导航图是XML资源
    23. 在MainActivity的布局中添加一个导航主机
    24. 代码片段重新审视
    25. 向按钮添加一个onClickListener
    26. 要求导航控制器使用一个操作进行导航
    27. titlefragment.kt的完整代码
    28. 当应用程序运行时会发生什么
    29. 测试驱动
    30. 到目前为止我们所做的…
      1. ...接下来我们要做什么
    31. 创建BeersFragment……
      1. ...更新它的布局
    32. 我们需要将数据从一个片段传递到另一个片段
    33. 将BeersFragment添加到导航图中
    34. 添加一个字符串参数到BeersFragment
    35. 导航图的XML代码
    36. 使用安全参数传递值
    37. 添加一个类路径到项目的build.gradle
    38. 将插件应用到应用的build.gradle中
    39. 使用指示课程的参数
      1. Android Studio为你生成方向类
    40. ChooseTypeFragment.kt的完整代码
    41. 使用Args类获取参数
      1. 获取啤酒类型,并显示啤酒列表
    42. Beersfragment.kt的完整代码
    43. 当应用程序运行时会发生什么
    44. 测试驱动
    45. 返回按钮怎么样?
    46. 欢迎来到后面的堆栈
      1. 一个后堆栈场景
    47. 使用导航图来关闭背面堆栈的碎片
    48. 导航图的XML代码
    49. 测试驱动
      1. 你已经创建了自己的首个多屏幕应用程序!
    50. 你的Android工具箱
  7. 7.导航UI:去的地方
    1. 不同的应用,不同的结构
    2. Android包含导航UI组件
    3. catchat应用程序如何工作
    4. 下面是我们要做的
    5. 创建一个新项目
      1. 添加一个默认的应用程序栏…
      2. ...通过applying a theme
    6. 在androidmanifest.xml中应用主题
    7. 如何给应用程序一个主题
      1. 1.硬编码主题
      2. 2.使用样式应用主题
    8. 在样式资源文件中定义样式
    9. 在颜色资源文件中定义颜色
    10. 使用工具栏替换默认的应用栏
      1. 删除默认的应用程序栏
    11. 工具栏是一种视图
    12. 将工具栏添加到Activity_main.xml
      1. 应用的名字去哪了?
    13. 将工具栏设置为MainActivity的App Bar
    14. 测试驱动
    15. 让我们向工具栏添加导航
      1. 工具栏导航将如何工作
    16. 创建InboxFragment.
    17. 创建HelpFragment
    18. 我们将使用Navigation组件导航到HelpFragment
      1. 将版本号添加到项目的build.gradle
      2. 向应用的build.gradle中添加依赖项
    19. 将片段添加到导航图中
    20. 添加一个导航主机到activity_main.xml
    21. 使用菜单资源文件在工具栏中指定项目
    22. 让我们在菜单中添加一个帮助项目
    23. OnCreateOptionsMenu()将菜单项添加到工具栏中
    24. 使用onOptionsItemSelected()响应单击
    25. 我们需要配置工具栏
    26. 使用AppBarConfiguration配置工具栏
    27. MainActivity.kt的完整代码
    28. 当应用程序运行时会发生什么
    29. 测试驱动
    30. 大多数类型的UI导航都使用navigation组件
      1. 底部导航栏如何工作
    31. 创建Sentemsfragment.
    32. 添加SentItemsFragment到导航图
    33. 底部导航栏需要一个新的菜单资源文件
    34. 底部导航栏是视图的一种类型
    35. Activity_main.xml的完整代码
    36. 将底部导航栏链接到导航控制器
    37. MainActivity.kt的完整代码
    38. 测试驱动
    39. 导航抽屉允许显示许多导航项
    40. 让我们将底部的导航栏替换为一个导航抽屉
    41. 导航抽屉解构
    42. 抽屉从菜单上取菜
    43. 添加支持部分…
      1. ...作为一个单独的子菜单
    44. 突出显示带有组的选定项
    45. menu_main.xml的完整代码
    46. 创建导航抽屉的标题
      1. 添加图像文件…
      2. ...并更新nav_header.xml代码
    47. 如何创建一个导航抽屉
    48. Activity_main.xml的完整代码
      1. 我们已经在布局中添加了一个导航抽屉
    49. 配置工具栏的抽屉图标…
      1. ...并将抽屉链接到导航控制器
    50. MainActivity.kt的完整代码
    51. 测试驱动应用程序
    52. 你的Android工具箱

产品信息

  • 标题:Head First Android开发,第三版
  • 作者(年代):道恩·格里菲思,大卫·格里菲思
  • 上映日期(待定):
  • 出版商(s):O ' reilly Media, Inc .)
  • 国际标准图书编号:没有一个