Android Jetpack开发:原理解析与应用实战

Android Jetpack开发:原理解析与应用实战

  • 大小:23.4 MB
  • 类型:Android
  • 格式:PDF
  • 出版:机械工业出版社
  • 作者:黄林晴
  • 更新:2022-08-08 09:48:57
vip 免费获取(已有108人参与)
关注公众号免费送书
版权投诉 / 资源反馈(本资源由用户 石任真 投稿)

我们帮大家精选了Android相关的资料,由机械工业出版社出版,作者是黄林晴,介绍了关于Android、Jetpack方面,格式为PDF,资源大小23.4 MB,目前在Android类资源综合评分为:8.1分。

Android资源推荐

书籍介绍

编辑推荐

随着移动领域的飞速发展,越来越多的工程师开始追求更高效率、更便捷的开发模式。而各种框架层出不穷,比如我们熟悉的MVC、MVP、MVVM等,每种框架都有其优缺点。为了统一开发规范,Google 推出了Jetpack,Jetpack 是一个由多个库组成的套件,可帮助开发者减少样板代码。

这是一本从使用方法、应用场景、实现原理等维度全面讲解Jetpack的著作,全书代码均采用Kotlin语言开发。

书中首先介绍Jetpack的基本知识,然后详细介绍了架构组件Lifecycle、ViewModel、LiveData、ViewBinding、DataBinding、Room、Hilt等,并通过切合实际的需求用例循序渐进地讲解了每个组件的使用方法和使用场景。

紧接着具体分析了Kotlin数据流Flow、Kotlin协程等的使用方法和实现原理,并结合项目中常见的问题深入地讲解如何从0搭建一个组件化的MVVM实战项目框架。

最后探讨了新的响应式UI编程技术——Jetpack Compose的用法,以帮助读者深入学习并理解Jetpack的应用场景。

内容简介

全书共12章,首先介绍Jetpack的基本知识,然后详细介绍了架构组件Lifecycle、ViewModel、LiveData、ViewBinding、DataBinding、Room、Hilt等,并通过切合实际的需求用例循序渐进地讲解了每个组件的使用方法和使用场景。除此之外,还针对当下流行的Kotlin 协程和Flow进行了讲解,让读者了解如何使用这些技术结合Jetpack组件写出更加优雅的代码,并演示了实战项目“出行防疫App”的实现方法。z后介绍了全新的声明式UI编程——Jetpack Compose。

目录

  • 前言
  • 第1章认识Jetpack 1
  • 1.1Android开发架构的发展历程 1
  • 1.2什么是Jetpack 3
  • 1.3如何构建支持Jetpack的项目 4
  • 1.4小结 6
  • 第2章使用Lifecycle,感知生命周期 7
  • 2.1从广告引导页的需求说起 7
  • 2.2Lifecycle的基本使用 10
  • 2.2.1使用Lifecycle优化广告引导页的需求 10
  • 2.2.2自定义LifecycleOwner 14
  • 2.3使用Lifecycle解决实际项目中常见的问题 16
  • 2.3.1Dialog内存泄漏问题分析 16
  • 2.3.2使用Lifecycle打造一个完美的Dialog 18
  • 2.4原理小课堂 19
  • 2.5小结 22
  • 第3章使用ViewModel管理页面数据 23
  • 3.1什么是ViewModel 23
  • 3.2使用ViewModel解决广告引导页屏幕旋转问题 26
  • 3.3ViewModel的生命周期 28
  • 3.4使用ViewModel实现数据共享 31
  • 3.5原理小课堂 33
  • 3.6小结 36
  • 第4章可观察的数据持有者类LiveData 37
  • 4.1什么是LiveData 37
  • 4.2LiveData的基本使用 38
  • 4.3map与 switchMap 41
  • 4.4原理小课堂 46
  • 4.5小结 49
  • 第5章视图绑定组件之ViewBinding 50
  • 5.1从findViewById说起 50
  • 5.2ViewBinding 的基本使用 53
  • 5.3ViewBinding的封装优化 55
  • 5.4原理小课堂 56
  • 5.5小结 58
  • 第6章数据绑定组件之DataBinding 59
  • 6.1DataBinding的基本使用 59
  • 6.1.1基础布局绑定表达式 60
  • 6.1.2利用DataBinding绑定点击事件 64
  • 6.1.3标签布局使用DataBinding 66
  • 6.2自定义BindingAdapter 67
  • 6.3双向数据绑定 70
  • 6.4DataBinding与 ViewBinding的区别 73
  • 6.5原理小课堂 73
  • 6.6小结 75
  • 第7章官方数据库框架之Room 76
  • 7.1Android数据库ORM框架 76
  • 7.2使用Room实现登录账号列表功能 77
  • 7.2.1账号列表的需求设计和数据库设计 77
  • 7.2.2准备工作 78
  • 7.2.3定义数据实体类 78
  • 7.2.4定义数据库访问对象 79
  • 7.2.5账号列表的查询与新增 80
  • 7.2.6账号列表的更新与删除 83
  • 7.3Room数据库的升级 86
  • 7.4原理小课堂 88
  • 7.5小结 90
  • 第8章减少手动依赖,探究Hilt 91
  • 8.1什么是依赖注入 91
  • 8.2基于Dagger看Hilt 93
  • 8.3Hilt的基本使用 93
  • 8.3.1添加依赖 93
  • 8.3.2依赖注入普通对象 95
  • 8.3.3依赖注入第三方组件 97
  • 8.3.4依赖注入架构组件 101
  • 8.4原理小课堂 102
  • 8.5小结 104
  • 第9章优雅地实现异步任务:Kotlin协程与Flow 105
  • 9.1什么是协程 105
  • 9.2使用协程优雅地实现异步任务 106
  • 9.2.1协程的基本用法 106
  • 9.2.2更多构建协程的方式 107
  • 9.2.3在Retrofit和架构组件中使用协程 113
  • 9.3Kotlin数据流 116
  • 9.3.1Flow的基本使用 116
  • 9.3.2探究StateFlow与SharedFlow 120
  • 9.4原理小课堂 122
  • 9.5小结 124
  • 第10章分页库Paging3的使用 125
  • 10.1Android中分页功能常见的设计方法 125
  • 10.2网络请求的封装与使用 126
  • 10.3使用Paging3实现网络数据的分页加载 129
  • 10.3.1官方推荐的最佳架构 129
  • 10.3.2PagingSource的定义与使用 131
  • 10.3.3PagingDataAdapter的定义与使用 133
  • 10.3.4将结果显示在UI上 134
  • 10.3.5监听加载状态 136
  • 10.4原理小课堂 140
  • 10.5小结 143
  • 第11 章打造一个MVVM架构的健康出行App 144
  • 11.1项目需求设计与可行性分析 144
  • 11.2组件化结构的设计与搭建 149
  • 11.3查询城市数据 155
  • 11.3.1实现逻辑层代码 156
  • 11.3.2实现UI层代码 160
  • 11.4查询城市核酸检测机构 165
  • 11.4.1实现逻辑层代码 165
  • 11.4.2实现UI层代码 167
  • 11.5查询疫情风险等级地区 169
  • 11.5.1实现逻辑层代码 169
  • 11.5.2实现UI层代码 171
  • 11.6查询健康出行政策 176
  • 11.6.1实现逻辑层代码 176
  • 11.6.2实现UI层代码 179
  • 11.7小结 182
  • 第12章体验最新响应式编程技术Jetpack Compose 183
  • 12.1什么是Jetpack Compose 183
  • 12.2Compose的基础知识 184
  • 12.2.1新建支持Compose的Android 项目 184
  • 12.2.2可组合函数与常用注解 187
  • 12.3Compose基础组件的使用 188
  • 12.3.1Compose 文本组件和图片组件 188
  • 12.3.2Compose 布局组件 190
  • 12.4Compose列表组件的使用 192
  • 12.4.1垂直列表组件Lazy-Column的使用 192
  • 12.4.2水平列表组件LazyRow的使用 196
  • 12.4.3网格列表组件Lazy-VerticalGrid的使用 197
  • 12.5小结 199

以上就是本次关于书籍资源的介绍和部分内容,我们还整理了以往更新的其它相关电子书资源内容,可以在下方直接下载,关于相关的资源我们在下方做了关联展示,需要的朋友们也可以参考下。

Android相关资源

  • 深入探索Android热修复技术原理

    深入探索Android热修复技术原理

    《深入探索Android热修复技术原理》 从阿里Sophix方案开发过程入手权威解读,分享了阿里巴巴手淘技术团队对系统底层的原创性发现,是业界首部全方位完整介绍热修复原理的书籍。 对于每一

    大小:122.9 MBAndroid电子书

  • Android系统服务开发

    Android系统服务开发

    Android系统服务开发 分析了Android提供的硬件控制机制。编写团队目前均从事相关工作,直接对平台源代码及日志进行分析及测试,介绍了目前尚未普及的Android 平台的硬件控制基本原理及实际框

    大小:72.1 MBAndroid开发电子书

  • 腾讯Android自动化测试实战

    腾讯Android自动化测试实战

    本书是Android自动化测试领域的里程碑著作,由腾讯最早专注APP测试的腾讯移动品质中心(TMQ)官方出品,系统总结了该团队7年多来在QQ浏览器、应用宝等多款亿级APP的自动化测试中总结出来的

    大小:12.7 MBAndroid电子书

  • 深入理解Android:Wi-Fi、NFC和GPS卷

    深入理解Android:Wi-Fi、NFC和GPS卷

    这书是經典畅销书深层次了解Android系列产品的大作,由杰出Android系统软件权威专家邓凡平老先生编写。从通讯专业技能和Android系统软件编码保持的视角,对Netd、Wi-Fi、NFC和GPS等控制模块的编

    大小:68.5 MBAndroid电子书

  • 疯狂Android讲义(Kotlin版)

    疯狂Android讲义(Kotlin版)

    本书基于全新的Android版本全面升级,全面介绍了Android应用开发的相关知识,全书内容覆盖了Android用户界面编程、Android四大组件、Android资源访问、图形/图像处理等

    大小:522.1 MBAndroid电子书

  • Android APP开发入门

    Android APP开发入门

    《Android APP开发入门:使用Android Studio环境》从初学者的角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用AndroidStudio开发环境开发Android应用程序应该掌握的各方面技术。全书

    大小:107 MBAPP开发电子书

  • Android应用安全实战:Frida协议分析

    Android应用安全实战:Frida协议分析

    编辑推荐 《Android应用安全实战:Frida协议分析》融合了资深爬虫工程师多年实战经验,采用理论和实践相结合的模式,六大实战案例,带领读者掌握逆向分析,进阶Android端爬虫。语言简练、内容实用,配有270分钟二维码视频,使读者身临其境,迅速、深入地掌握Frida框架的使用方法。 内容简介 Android应用安全是一个热门话题,本书从Hook框架Frida出发,由浅入深,带领读者掌握Frida框架的使用方法,并让读者能够解决逆向分析、安全测试、算法还原和关键

    大小:82.5 MBAndroid

  • Android实现城市列表字母排序

    Android实现各个城市的字母排序,简单的修改就可以加入到你的项目中 Android实现各个城市的字母排序,简单的修改就可以加入到你的项目中

    大小:278 KBAndroid

  • Android外设开发实战

    Android外设开发实战

    Android系统从诞生到现在,短短几年便凭借其操作易用性和开发的简洁性,赢得了广大用户和开发者的支持。截至2014年9月30日,Android系统的市场占有率高达85% 。《Android外设开发实战》 内容分

    大小:107 MBAndroid电子书

  • 《Android APP开发实战:从规划到上线全程详解》资源代码

    《Android APP开发实战:从规划到上线全程详解》资源代码

    编辑推荐 以从零开始规划一款APP至APP上线这个过程为主线,尽量贴合实战,介绍整个过程中所涉及的各类知识,而不局限于某一方面,使得读者对APP开发相关知识有一个全面的了解,帮助他们开阔眼界,且能够以更专业的方式完成APP的开发。 内容简介 本书详尽地介绍了APP从规划到上线过程中所涉及的各方面知识,包括产品规划和原型设计、效果图设计、切图和尺寸标注、APP与服务器间的协作、字符编码、网络、多媒体、数据加密、设计模式、APP架构设

    大小:460.9 MBAndroid配套资源

  • Android RIL qcril架构

    《Android RIL qcril架构》详细介绍AndroidRIL、qcril构架及关键作用保持,及其RAT/VOICE/DATA有关业务流程在RIL侧的解决步骤。检索了好长时间,总算找到一篇有关高通骁龙Qcril构架解析的好的文章,十分有效,文本文档里边几个附注打不开,小编可否出示下列呢?VOLTEMOCALL,VOLTEMTCALL,CSFBMO_MTCALL,W下MO_MTCALL步骤这四个打不开。双卡手机在phone系统进程会有2个Phone的案例相匹配每个插槽,相对的Rild系统进程也会有2

    大小:1.4 MBAndroid

参与送书

学习笔记

8小时35分钟前回答

微信小程序开发之IOS和Android兼容的问题

微信小程序开发之IOS和Android兼容的问题 一、时间转换问题: 这不只是小程序上面的问题是ios系统 都有这个问题 就是new Date("2017-06-16") 在IOS会出现NAN的情况所以对于时间转换需要另行封装,解决方案如下 1.替换”-“为”/“ 2.删除”.“后面的字符串(带毫秒也会有问题) 代码如下: /** * 字符串转换为时间 * @param {String} src 字符串 */ strToDate(dateObj){ dateObj = dateObj.replace(/T/g, ' ').re……