搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Android Jetpack应用指南
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121390555
  • 作      者:
    叶坤著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2020
收藏
作者简介

叶坤,毕业于闽南师范大学计算机系。曾先后就职于网龙、搜狐畅游17173、豆瓣。在豆瓣任职期间,负责豆瓣FM Android客户端的研发工作。现为美餐网资深Android工程师,负责美餐行星项目Android客户端的研发工作。

 

他在大学期间便开始自学Android研发技术,从事Android研发已有10年,在该领域有较为丰富的经验,曾译《Android高性能编程》一书。除了码字,他还十分喜爱阿根廷探戈。


展开
内容介绍

《Android Jetpack应用指南》讲解的是Android Jetpack最核心的内容—架构。第1章将对Jetpack做一个大致的介绍。第2章至第9章,将分别详细介绍为搭建MVVM架构而设计的各个Jetpack组件,包括LiveData、ViewModel、DataBinding等。第10章是对前面各章节的总结,将向读者详细介绍什么是数据模型驱动界面更新、什么是MVVM架构,以及如何利用Jetpack组件搭建符合MVVM架构规范的应用程序。

本书假设读者对Android应用程序有基本的了解,希望系统学习Jetpack,并打算最终使用Jetpack组件架构符合MVVM规范的应用程序。


展开
精彩书评

如果你想快速上手Android开发,但却不知道该如何入手,这本《Android Jetpack应用指南》不失为一个好选择,相信作者多年的移动开发工作经验和Google的优秀的工程实践能够让你事半功倍。

 

Amazon高级软件工程师  党路

 

前豆瓣FM首席Android架构师出品!

 

Rakuten高级数据工程师  钟凌峰

 

Android Jetpack帮助开发者聚焦产品,快速构建稳定、强大、高性能的应用。本书概念准确,逻辑清晰,是深入了解Android Jetpack的佳作。

 

豆瓣FM移动端高级工程师  仇志飞

 

善用开发架构和工具集,是平衡业务需求响应和技术债管理的重要途径。叶坤的这本新书将带领你上手Android官方架构指南,并运用这一优秀的工程实践。

 

Spotify高级机器学习工程师、博士  赵彧

叶坤是我认识的一位极为多才多艺的软件工程师。他幽默、勤奋并乐于分享。作为Android领域的资深工程师,他曾经翻译《Android高性能编程》一书,并颇受好评。在北京马拉松圈子里,没有人比他更懂探戈;在朝阳区探戈圈子里,没有人比他更懂Android编程。

 

动视暴雪高级软件工程师  潘妙财

 

我向那些想学习Jetpack的同学力荐《Android Jetpack应用指南》这本书,Jetpack的由来和使用细节在书中都有很详细的介绍,并且附有很多示例代码,相信大部分同学可以快速掌握。这本书的作者曾经是我的同事,很幸运跟他一起工作多年,他是一位很有个人魅力的程序员—跑马拉松、跳舞、写书—不安分的表象下透露着不断建设自我、影响他人的初衷,希望他也能帮助到你。

 

豆瓣移动端负责人  栾谦

 

博观而约取,厚积而薄发。好书是活力的源泉,是来自作者的能量传递。从《Android高性能编程》到《Android Jetpack应用指南》,充分体现了叶坤对Android技术的专注和热情。

 

搜狐畅游17173 高级软件工程师  张崇盛

 

作者基于自己多年的Android开发经验,结合详尽的示例,通俗易懂地介绍了Jetpack。如果你是新手,本书可以帮你直接上手官方标准框架,少走些弯路。如果你有一定的开发经验,那么本书可以让你在如何更优雅地架构应用程序方面,与作者产生共鸣。

 

网龙移动端高级工程师  林太伟

叶坤是一位研究Android应用程序开发十年有余的技术专家,他以勤奋、严谨和极大的热情,投入到他所热爱的事业。在这本《Android Jetpack应用指南》里,他将自己对Jetpack的丰富经验和深入思考,汇集成书,这些知识十分珍贵。本书详细地介绍了通俗易懂的入门知识,其中包含大量的示例代码、操作实例,即使是不熟悉Jetpack的新人,通过阅读本书也能快速地掌握Jetpack这个神兵利器。同时,本书还讨论了与MVVM相关的架构知识,为开发日益复杂的Android程序提供锦囊妙计,相信这些对所有读者都将大有裨益。

 

IGG移动端高级工程师  池上金


展开
目录

第1章  初识JETPACK 1

1.1  ANDROID应用程序架构设计标准的缺失概论  1

1.2  什么是JETPACK    2

1.3  JETPACK与ANDROIDX 3

1.4  迁移至ANDROIDX 4

1.5  新建项目默认支持ANDROIDX    6

1.6  总结       8

第2章  LIFECYCLE        9

2.1  LIFECYCLE的诞生 9

2.2  使用LIFECYCLE解耦页面与组件 10

2.2.1  案例分析    10

2.2.2  LifeCycle的原理 11

2.2.3  解决方案    12

2.3  使用LIFECYCLESERVICE解耦SERVICE与组件    15

2.3.1  LifeCycleService基本介绍 15

2.3.2  LifecycleService的具体使用方法     16

2.4  使用PROCESSLIFECYCLEOWNER监听应用程序的生命周期     19

2.4.1  ProcessLifecycleOwner存在的意义 19

2.4.2  ProcessLifecycleOwner的具体使用方法 19

2.5  总结       22

第3章  NAVIGATION   24

3.1  NAVIGATION的诞生     24

3.2  NAVIGATION的主要元素     25

3.3  使用NAVIGATION 26

3.3.1  创建Navigation Graph       26

3.3.2  添加NavHostFragment      28

3.3.3  创建destination 30

3.3.4  完成Fragment页面切换  33

3.3.5  使用NavController完成导航   36

3.3.6  添加页面切换动画效果    38

3.4  使用SAFE ARGS插件传递参数   40

3.4.1  常见的传递参数的方式    40

3.4.2  使用safe args传递参数    40

3.5  NAVIGATIONUI的使用方法 43

3.5.1  NavigationUI存在的意义  43

3.5.2  案例分析    43

3.5.3  扩展延伸    48

3.6  深层链接DEEPLINK      49

3.6.1  DeepLink的两种应用场景        49

3.6.2  PendingIntent的方式 50

3.6.3  URL的方式 52

3.7  总结       54

第4章  VIEWMODEL   56

4.1  视图与数据模型之间的桥梁VIEWMODEL 56

4.2  VIEWMODEL的生命周期特性     57

4.3  VIEWMODEL的基本使用方法     58

4.4  VIEWMODEL的原理     62

4.5  VIEWMODEL与ANDROIDVIEWMODEL        64

4.6  VIEWMODEL与ONSAVEINSTANCESTATE() 方法 65

4.7  总结       65

第5章  LIVEDATA 67

5.1  实时数据LIVEDATA       67

5.2  LIVEDATA和VIEWMODEL的关系        68

5.3  LIVEDATA的基本使用方法  68

5.4  LIVEDATA的原理  71

5.5  LIVEDATA.OBSERVEFOREVER()方法      72

5.6  VIEWMODEL+LIVEDATA实现FRAGMENT间通信       73

5.7  总结       79

第6章  ROOM     80

6.1  ANDROID官方ORM库ROOM    80

6.2  ROOM的基本使用方法       81

6.2.1  Room的相关概念      81

6.2.2  案例分析    82

 

6.3  ROOM与LIVEDATA、VIEWMODEL结合使用     87

6.3.1  LiveData和ViewModel带来的好处 87

6.3.2  案例优化    89

6.4  ROOM数据库升级       91

6.4.1  使用Migration升级数据库      91

6.4.2  异常处理    92

6.4.3  Schema文件      93

6.4.4  销毁与重建策略        95

6.5  预填充数据库       96

6.5.1  createFromAsset() API和createFromFile() API 96

6.5.2  createFromAsset() API的使用方法  97

6.6  总结       101

第7章  WORKMANAGER    102

7.1  WORKMANAGER的作用      102

7.2  WORKMANAGER的3个重要特点      102

7.3  WORKMANAGER的兼容方案      103

7.4  WORKMANAGER的基本使用方法      104

7.4.1  添加依赖    104

7.4.2  使用Worker类定义任务  104

7.4.3  使用WorkRequest配置任务    105

7.4.4  将任务提交给系统    107

7.4.5  观察任务的状态        107

7.4.6  取消任务    108

7.4.7  WorkManager与Worker之间的参数传递      108

7.4.8  周期性任务PeriodicWorkRequest    110

7.4.9  任务链        110

7.5  总结       112

第8章  DATABINDING 113

8.1  DATABINDING的意义和优势       113

8.2  DATABINDING的简单绑定   114

8.2.1  未采用DataBinding的编码方式      114

8.2.2  采用DataBinding完成简单的绑定  116

8.3  DATABINDING响应事件       124

8.4  二级页面的绑定   127

8.5  BINDINGADAPTER的原理    130

8.6  自定义BINDINGADAPTER    132

8.6.1  自定义BindingAdapter的基本方法 132

8.6.2  方法重载    135

8.6.3  多参数重载        137

8.6.4  可选旧值    138

8.7  双向绑定       141

8.7.1  单向绑定和双向绑定        141

8.7.2  实现双向绑定    142

8.7.3  使用ObservableField优化双向绑定        145

8.7.4  ObservableField与LiveData      146

8.8  RECYCLERVIEW的绑定机制 147

8.9  总结       154

 

第9章  PAGING   155

9.1  PAGING组件的意义     155

9.2  PAGING支持的架构类型     155

9.3  PAGING的工作原理     157

9.4  PAGING的3个核心类 158

9.5  3种DATASOURCE 159

9.6  POSITIONALDATASOURCE的使用方法 160

9.7  PAGEKEYEDDATASOURCE的使用方法 176

9.8  ITEMKEYEDDATASOURCE的使用方法 184

9.9  BOUNDARYCALLBACK的使用方法       190

9.9.1  BoundaryCallback的意义 190

9.9.2  BoundaryCallback的使用流程分析 191

9.9.3  项目演示    192

9.10  总结     202

第10章  MVVM架构  204

10.1  MVVM架构与JETPACK      204

10.2  数据模型驱动界面更新     204

10.3  简要回顾JETPACK组件     206

10.4  使用JETPACK组件构建MVVM应用程序 207

10.5  总结     224


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证