1.介绍ViewModel类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel类让数据可在发生屏幕旋转等配置更改后继续留存。Android框架可以管理界面控制器(如Activity和Fragment)(记住这个术语,后面分析时会出现)的生命周期。如果系统销毁或重新创建界面控制器,则存储在其中的任何瞬态界面相关数据都会丢失。例如,应用可能会在它的某个Activity中包含用户列表。为配置更改重新创建Activity后,新Activity必须重新提取用户列表。对于简单的数据,Activity可以使用onSaveInstanceState()方法从onCreate()中的捆绑包恢复
一、ViewBinding的使用1、ViewBinding简介视图绑定是一项功能,可让您更轻松地编写与视图交互的代码。在模块中启用视图绑定后,它会为该模块中存在的每个XML布局文件生成一个绑定类。绑定类的实例包含对在相应布局中具有ID的所有视图的直接引用。在大多数情况下,视图绑定会替换findViewById。也就是说viewbinding能够给每一个布局绑定一个布局类,这样我们就不需要使用findViewById来获取对应的视图了,可以防止一些视图为空的情况导致的错误。2、ViewBinding使用1.首先在build.gradle中添加以下代码,Kotlin语言buildFeatures{
图片来源网络在日常Android开发当中,我们肯定会遇到App的生命周期的需求。在lifecycle的扩展库当中有提供一个ProcessLifecycIeOwner帮我们实现对App的生命感知,这篇博客就来分享ProcessLifecycIeOwner的知识,希望对看文章的小伙伴有所启发。导入依赖这个类需要我们导入一个扩展库,依赖语句如下所示:implementation'androidx.lifecycle:lifecycle-extensions:2.2.0'使用代码示例1.创建一个AppObserver实现LifecycleObserver接口:importandroidx.lifecy
>**请点赞,你的点赞对我意义重大,满足下我的虚荣心。**>>🔥**Hi,我是小彭。本文已收录到[GitHub·Android-NoteBook](https://github.com/pengxurui/Android-NoteBook)中。这里有Android进阶成长知识体系,有志同道合的朋友,跟我一起成长。**##前言-生命周期
JetpackCompose入门详解前排提醒前言(Compose是什么)1.实战准备一、优势与缺点二、前四课三、标准布局组件1.Column2.Row3.Box四、xml和compose混合使用+livedata数据绑定1.xml和compose混合使用a.xml中使用composeb.compose中使用view2.livedata数据绑定五.compose结合navigation使用1.集成导航2.传递参数3.深层链接六.Compose中的ConstraintLayout七.Compose手写一个分享二维码弹窗八.Compose设置颜色的三种方式九.Compose事件与状态简略介绍十.Co
图片来源网络可能有部分Android开发的小伙伴见过单Activity多Fragment的App,使用起来非常的流畅或者说非常的丝滑。自己想要尝试这种开发模式的时候,又会发现Fragment的管理会比较麻烦。现在不用怕了,AndroidSDK为了我们提供了Navigation来实现这种开发模式。希望这篇文章对小伙伴们有所启发。Navigation的优势先来说说使用Navigation的优势:可以可视化页面的导航,可以帮我们快速理清页面之间的关系;通过destination和action完成页面之间的导航;方便我们添加页面的切换动画;页面之间类型安全的参数传递;通过NavigationUI类,对
Android开发架构-----------如果开发过程中大家各自为战,没有统一规范,久而久之,项目代码会变得混乱且后续难以维护。当使用统一的架构模式后,有很多的好处,如:*统一开发规范,使得代码整洁、规范,后续易于维护及扩展*提高开发效率(尤其在团队人员较多时)*模块单一职责,使得模块专注自己内部(面向对象),**模块间解耦**总之,开发架构是前人总结出来的一套行之有效的开发模式,目的是达到**高内聚,低耦合**的效果,使得项目代码更健壮、易维护。Android中常见的架构模式有`MVC(Model-View-Controller)`、`MVP(Model-View-Presenter)`、
图片来源网络在开发当中,我们肯定会有使用到Service相关的需求,编写程序的时候,肯定要做到Service与组件之间解耦,Android为我们提供了LifecycleService类帮助我们实现。这篇博客主要分享LifecycleService相关的知识,希望对看文章的小伙伴有所启发。查看Service与LifecycleService关系层级关系,我们用一张图来说明,来源Android官网:来源Android官网导入依赖原生的AndroidSDK并没有LifecycleService类,需要导入Android的拓展库:implementation'androidx.lifecycle:li
一、AndroidJetpack简介Jetpack并不是一个框架或者组件,它是一套库、工具和指南的集合,可帮助开发者更轻松地编写优质应用。这些组件可帮助开发者遵循最佳做法、摆脱编写样板代码的工作并简化复杂任务,以便将精力集中放在所需的代码上。AndroidJetpack中的很多组件并不都是新开发的,而是很早就有了,比如在GooleI/O2017大会时推出了AndroidArchitectureComponent(AAC),它包括了LifeCycle、LiveData、ViewModel、Room。在GooleI/O2018大会上,用AndroidX替代了AndroidSupportLibrar
JetpackCompose1.0发布已经快一年了,在此期间我们看到社区是它的热情,例如欣赏Kotlin语法的简洁性、使UI开发变得更加便捷和更轻松的声明式方法。社区中的Compose我们已经看到许多公司开始大规模使用Compose,例如Compose于PlayStore团队密切合作,他们在很早的时候就开始尝试Compose,并了解到它不仅更有趣,而且对他们的开发人员生产力的提高也很有帮助。PlayStore团队:“所有新的Play商店功能都建立在这个框架之上,Compose有助于为应用程序解锁更快的速度和更顺畅的发布。”Twitter团队一直在应用程序的不同部分使用JetpackCompos