
Jetpack
文章平均质量分 94
我就是马云飞
欢迎来到马云飞的博客,寂寞如风一般的少年。正朝着大牛的方向前行。希望我的博客可以帮助你们向大牛的方向前进。我不信神,但我通过巨人的肩膀凝视神所在的方向。
展开
-
Android Jetpack导航组件——Navigation的使用
概述Navigation是采用一个Activity和多个Fragment形式设计的Ui架构模式,但是众所周知,Fragment的管理一直是个麻烦事,需要通过FragmentManager和FragmentTransaction来管理Fragment之间的切换。所以Google提供了一套Navigation用来管理Fragment相互间的跳转等逻辑。我们先看下Navigation的优势:处理 Fragment 事务。默认情况下,正确处理往返操作。为动画和转换提供标准化资源。实现和处理原创 2021-03-09 23:45:46 · 1222 阅读 · 0 评论 -
Android Jetpack架构组件——LiveData原理篇
前言前面我们讲到了LiveData是如何使用的,并在最后留了几个问题。比如它是如何通过生命周期去变化的?为什么DESTORY不会接受数据?postValue和setValue是如何更新数据的?Transformations的map和switchMap方法内部是如何操作的?别急,本篇文章会带你了解其原理。接下来上正文。LiveData是如何观察生命周期变化的?如何观察生命周期,我们需要通过他的observe方法去看,我们上源码: @MainThread public void obser原创 2021-03-01 23:40:14 · 451 阅读 · 0 评论 -
Android Jetpack架构组件——LiveData使用篇
概述一般来说,LiveData很少单独使用,它更多的和Android Jetpack的其他组件搭配使用,比如ViewModel和ViewBinding。所以前面我们介绍ViewModel的使用以及其实现原理。那么这篇文章就来介绍LiveData的使用。LiveData是什么?通过字面意思其实我们可以理解成生存(活着)的数据。我们看下官方是怎么介绍它的:LiveData 是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 Activi原创 2021-02-27 12:32:29 · 439 阅读 · 1 评论 -
Android Jetpack架构组件——一文带你了解ViewModel的使用及原理
概述前面我们讲过了lifecycle的使用及原理。今天我们谈谈viewModel。原本使用和原理是准备分开写的,结果我看了下ViewModel的原理,很简单,所以决定把两者放在一起了。那么接下来,我们进入正题。ViewModel是什么?ViewModel旨在以注重生命周期的方式存储和管理界面相关的数据。我们知道当屏幕旋转时,Activity会销毁并且重建,而它让数据可在发生屏幕旋转等配置更改后继续留存。哎?那就有人要问了,为什么我们不通过onSaveInstanceState()对数据进行保存,然后原创 2021-02-23 21:00:31 · 558 阅读 · 2 评论 -
Android Jetpack架构组件——Lifecycle原理篇
概述前面我们讲到了lifecycle是如何使用的,但是我们单单知道如何使用它还是不够的,我们需要知道它到底是如何绑定生命周期的。那么本篇我们就讲一下lifecycle的原理篇。本篇基于Android 9.0源码进行分析,如有不同,注意sdk版本。Lifecycle是什么?官方文档是这么描述的,Lifecycle它是一个类,用来存储相关组件的生命周期状态,如Activity或者Fragment等。并且允许其他组件对这些状态进行观察。我们先简单看一下Lifecycle这个类的源码:public原创 2021-02-20 15:56:17 · 620 阅读 · 0 评论 -
Android Jetpack架构组件——Lifecycle使用篇
概述Lifecycle是一个持有组件生命周期状态的class,并且允许其他组件来观察生命周期的变化。并不局限于Activity或者Fragment。我们只知道生命周期是由操作系统或者进程中运行的代码进行管理。而且生命周期是Android工作原理的核心,所以应用必须遵循它们。否则会引起OOM或者Crash。为什么需要使用Lifecycle管理生命周期在此我们用官网提供的一个示例: internal class MyLocationListener( private val contex原创 2021-02-08 16:00:09 · 413 阅读 · 0 评论 -
Android Jetpack架构组件——什么是Jetpack?
前言提到Android架构,我们首先想到的是MVC,MVP,MVVM。他们主要是针对视图和模型的。随着Android的发展,从原来的框架很少,全是自己动手撸。到现在框架越来越多,选型也越来越多,导致开发出来越来越不规范。我们知道MVP和MVVM只是应用在架构上,而不是在框架选型上。而google在2018年推出jetpack就是为了解决以上的问题。Jetpack是什么?Jetpack它不是一个新的架构,而是一个由多个库组成的套件,可帮助开发者遵循最佳做法,减少样板代码并编写可在各种Android版本和原创 2021-02-07 21:40:15 · 925 阅读 · 0 评论