jetpack
文章平均质量分 90
小孟来码
记录并分享Android相关技术内容,在分享的过程中对Android的知识查缺补漏。
展开
-
MVC、MVP、MVVM模式的概念与区别
首先MVC,MVP,MVVM都是为了解决UI页面与逻辑代码分离而出现的模式,MVP和MVVM都是MVC的基础上演化而来。他不属于某种语言的框架,只要是有UI页面与逻辑代码我们都可以使用这几种框架去搭建我们的项目。他是一种框架模式。M和V分别指Model层和View层,但其功能会因为框架的不同而变化。Model层是数据模型,用来存储数据;View层是视图,展示Model层的数据。虽然在不同的MV(XX)框架中,Model层和View层的内容可能会有所差别,但是其基础功能不变,变的只是 数据的传输方式。原创 2022-09-13 10:03:26 · 6822 阅读 · 1 评论 -
Jetpack之ViewModel+LiveData+DataBinding实现联动计数器
到此为止,MVVM的准备就OK了。每一个组件都有他的用处,每一个框架也都有他适用的场景。下一篇来看看现在流行的框架区别和优缺点吧。之后再给大家建立一个MVVM的壳工程。原创 2022-09-09 14:42:47 · 2649 阅读 · 0 评论 -
Jetpack之LiveData加ViewModle结合使用
首先来句简单的:观察监听了数据的变化,方便了很多通知操作。LiveData 是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 Activity、Fragment 或 Service)的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者。原创 2022-09-06 13:58:11 · 10051 阅读 · 0 评论 -
Jetpack之ViewModel的使用
ViewModel可以算是Jetpack中最重要的组件之一了,他出现的目的是以生命周期意识的方式存储和管理用户界面相关的数据。它可以用来管理Activity和Fragment中的数据。还可以拿来处理Fragment与Fragment之间的通信等等。后来大家发现他非常适合我们MVVM架构作为数据层去使用。所以大家会讲它配合LiveData去使用,但是大家不要着急直接去看MVVM的ViewModel+LiveData+DataBinding。先一个个一个看更利于你完整的了解MVVM架构。原创 2022-09-01 17:57:31 · 9484 阅读 · 0 评论 -
Jetpack之ViewBinding和DataBinding的区别
个人分别总结了ViewBinding和DataBinding两篇文章来说,我认为大家可以更简单的理解这两项技术。只要大家知道他们的目的就能确认我们的使用场景。DataBinding的目的是用于绑定数据的。ViewBinding目的是简化布局。所以如果仅仅是为了绑定布局而没有双向绑定数据的需求,那我推荐用ViewBinding更好一下,具体的可以参考上面的优缺点解释。...原创 2022-08-29 13:48:17 · 9823 阅读 · 0 评论 -
Jetpack之DataBinding的使用
DataBinding 是 Google 在 Jetpack 中推出的一款数据绑定的支持库,他的目的是一个帮助我们实现数据和UI绑定,并可以进行双向绑定。原创 2022-08-29 10:28:45 · 10282 阅读 · 0 评论 -
Jetpack之ViewBinding的使用
ViewBinding是android jetpack的一个特性,ViewBinding总体来说其实非常简单,它的目的只有一个,就是为了避免编写findViewById。因为他会为每个 XML 布局文件生成一个绑定类。绑定类的实例包含在相应布局xml文件中具有 ID 的所有视图的直接引用。......原创 2022-08-25 17:49:17 · 9869 阅读 · 0 评论 -
Jetpack之Navigation使用及源码解读
首先Navigation是一个架构组件,因为切换Activity是一个Binder通信的过程,所以Activity是属于比较重的组件。而Fragment的切换其实只是View的切换,比较轻量级。因此单Activity加Fragment切换成为了比较常见的架构方式。为什么要用Navigation:1、使得Fragment的管理简单,可读性高。2、传递数据方式简单。3、标准的栈管理。4、支持Deeplink、URL Link定位到Fragment。5、处理动画更加方便。下面也主要围绕这几点进行讲解。......原创 2022-08-04 15:18:29 · 10519 阅读 · 0 评论 -
Jetpack之Lifecycle的使用和源码解读
它是一个持有 Activity/Fragment 生命周期状态信息的类,并且允许其他对象观察此状态。它是LiveData和ViewModel的基础。在应用开发中,处理Activity或者Fragment组件的生命周期相关代码是必不可免的, 官方文档中举了一个例子// 连接系统定位服务 } void stop() {// 断开系统定位服务 } } class MyActivity extends AppCompatActivity {// 更新 UI });} }...............原创 2022-08-09 14:41:28 · 9741 阅读 · 0 评论 -
Jetpack之Room的使用
Android采用Sqlite作为数据库存储。Sqlite代码写起来繁琐且容易出错,所以开源社区里逐渐出现了各种ORM(Object Relational Mapping)库。这些开源ORM库都是为了方便Sqlite的使用,包括数据库的创建,升级,增删改查等。常见的ORM有ORMLite,GreenDAO等。Google也意识到了推出自家ORM的必要性,于是有了Room。Room持久性库在SQLite的基础上提供了一个抽象层,让用户能够在充分利用SQLite的强大功能的同时,获享更强健的数据库访问机制。..原创 2022-08-15 17:53:30 · 9814 阅读 · 0 评论