草庐IT

at-jetpack

全部标签

Jetpack之ViewModel

1.介绍ViewModel类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel类让数据可在发生屏幕旋转等配置更改后继续留存。Android框架可以管理界面控制器(如Activity和Fragment)(记住这个术语,后面分析时会出现)的生命周期。如果系统销毁或重新创建界面控制器,则存储在其中的任何瞬态界面相关数据都会丢失。例如,应用可能会在它的某个Activity中包含用户列表。为配置更改重新创建Activity后,新Activity必须重新提取用户列表。对于简单的数据,Activity可以使用onSaveInstanceState()方法从onCreate()中的捆绑包恢复

java - 枚举、接口(interface)和 (Java 8) lambdas : code compiles but fails at runtime; is this expected?

JDK是Oracle的JDK1.8u65,但“低至”1.8u25也出现了问题。这是完整的SSCCE:publicfinalclassFoo{privateinterfaceX{defaultvoidx(){}}privateenumE1implementsX{INSTANCE,;}privateenumE2implementsX{INSTANCE,;}publicstaticvoidmain(finalString...args){Stream.of(E1.INSTANCE,E2.INSTANCE).forEach(X::x);}}此代码编译;但它在运行时失败:Exceptionint

java - 枚举、接口(interface)和 (Java 8) lambdas : code compiles but fails at runtime; is this expected?

JDK是Oracle的JDK1.8u65,但“低至”1.8u25也出现了问题。这是完整的SSCCE:publicfinalclassFoo{privateinterfaceX{defaultvoidx(){}}privateenumE1implementsX{INSTANCE,;}privateenumE2implementsX{INSTANCE,;}publicstaticvoidmain(finalString...args){Stream.of(E1.INSTANCE,E2.INSTANCE).forEach(X::x);}}此代码编译;但它在运行时失败:Exceptionint

Android Jetpack架构组件(五)—ViewBinding和DataBinding

一、ViewBinding的使用1、ViewBinding简介视图绑定是一项功能,可让您更轻松地编写与视图交互的代码。在模块中启用视图绑定后,它会为该模块中存在的每个XML布局文件生成一个绑定类。绑定类的实例包含对在相应布局中具有ID的所有视图的直接引用。在大多数情况下,视图绑定会替换findViewById。也就是说viewbinding能够给每一个布局绑定一个布局类,这样我们就不需要使用findViewById来获取对应的视图了,可以防止一些视图为空的情况导致的错误。2、ViewBinding使用1.首先在build.gradle中添加以下代码,Kotlin语言buildFeatures{

Android-Jetpack-ProcessLifecycIeOwner监听App的生命周期

图片来源网络在日常Android开发当中,我们肯定会遇到App的生命周期的需求。在lifecycle的扩展库当中有提供一个ProcessLifecycIeOwner帮我们实现对App的生命感知,这篇博客就来分享ProcessLifecycIeOwner的知识,希望对看文章的小伙伴有所启发。导入依赖这个类需要我们导入一个扩展库,依赖语句如下所示:implementation'androidx.lifecycle:lifecycle-extensions:2.2.0'使用代码示例1.创建一个AppObserver实现LifecycleObserver接口:importandroidx.lifecy

Lifecycle:生命周期感知型组件的基础 —— Jetpack 系列(1)

![](https://upload-images.jianshu.io/upload_images/10107787-73a05f1a2b48e740.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)>**请点赞,你的点赞对我意义重大,满足下我的虚荣心。**>>🔥**Hi,我是小彭。本文已收录到[GitHub·Android-NoteBook](https://github.com/pengxurui/Android-NoteBook)中。这里有Android进阶成长知识体系,有志同道合的朋友,跟我一起成长。**##前言-生命周期

Jetpack Compose入门详解(实时更新)

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-Jetpack-Navigation组件使用

图片来源网络可能有部分Android开发的小伙伴见过单Activity多Fragment的App,使用起来非常的流畅或者说非常的丝滑。自己想要尝试这种开发模式的时候,又会发现Fragment的管理会比较麻烦。现在不用怕了,AndroidSDK为了我们提供了Navigation来实现这种开发模式。希望这篇文章对小伙伴们有所启发。Navigation的优势先来说说使用Navigation的优势:可以可视化页面的导航,可以帮我们快速理清页面之间的关系;通过destination和action完成页面之间的导航;方便我们添加页面的切换动画;页面之间类型安全的参数传递;通过NavigationUI类,对

Android Jetpack系列之MVVM使用及封装

Android开发架构-----------如果开发过程中大家各自为战,没有统一规范,久而久之,项目代码会变得混乱且后续难以维护。当使用统一的架构模式后,有很多的好处,如:*统一开发规范,使得代码整洁、规范,后续易于维护及扩展*提高开发效率(尤其在团队人员较多时)*模块单一职责,使得模块专注自己内部(面向对象),**模块间解耦**总之,开发架构是前人总结出来的一套行之有效的开发模式,目的是达到**高内聚,低耦合**的效果,使得项目代码更健壮、易维护。Android中常见的架构模式有`MVC(Model-View-Controller)`、`MVP(Model-View-Presenter)`、

Android-Jetpack-LifecycleService使用

图片来源网络在开发当中,我们肯定会有使用到Service相关的需求,编写程序的时候,肯定要做到Service与组件之间解耦,Android为我们提供了LifecycleService类帮助我们实现。这篇博客主要分享LifecycleService相关的知识,希望对看文章的小伙伴有所启发。查看Service与LifecycleService关系层级关系,我们用一张图来说明,来源Android官网:来源Android官网导入依赖原生的AndroidSDK并没有LifecycleService类,需要导入Android的拓展库:implementation'androidx.lifecycle:li