首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android编程权威指南》之UI状态的保存与恢复篇

它来自lifecycle-extensions的Android Jetpack库,目前 lifecycle-extensions 中的 API 。...'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0-alpha03' 然后点击 Sync Now。...三、进程销毁时保存数据 上面讲述的是发生屏幕旋转等配置更改的情况下,activity会被销毁和重启,这个时候可以viewmodel来自动保存数据与获取数据。...3.1 覆盖onSaveInstanceState(Bundle)函数 通过覆盖Activity.onSaveInstanceState(Bundle)的方式,就可以解决上述问题,当应用进程在意外被系统...参考:https://developer.android.com/jetpack 六、深入学习:解决问题要彻底 意思就是通过禁止应用屏旋转,以此解决设备配置改变带来的UI状态丢失问题的方式太粗暴,也不能从根本解决问题

59510
您找到你想要的搜索结果了吗?
是的
没有找到

31 天,从浅到深轻松学习 Kotlin

Day 7:解构声明 Android KTX 使用解构来分配颜色的组件值。您可以在您的类中使用解构,或者扩展现有的类来添加解构。...Day 11:简化 postDelay Lambda 非常贴心,使用最后一个参数调用语法您可以取消回调,Callable 和 Runnable,例如 Android KTX 贴心的一个小包装来处理 postDelayed...第三周学习小结: 本周主要讨论一些基本的 Kotlin 特性,如运算符重载,内联,运算符重载,懒加载,以及非常强大的 inLine,并展示了使用 Android KTX 处理内容值,捆绑包和回调时如何编写更简洁的代码...Android KTX 为一些最常见的 span 添加了扩展功能,并使 API 更易于使用。...Android KTX 允许您使用默认参数在视图的一侧设置填充。一行代码可以节省很多代码!

2.2K30

优先使用 KTX 库 | MAD Skills

目前为止,已有超过 20 个库拥有对应的 KTX 版本,这些 KTX 库实现了常用的 Java 版本 API 的功能,包括 Android 平台 API、ViewModels、SQLite,甚至还有 Play...本文会介绍目前可用的 KTX API 并深入其中去分析它们是如何实现的。 如果您比较喜欢观看视频,可以 点击这里。...-ktx 软件包会包含 Kotlin 的扩展: // 获取最新 Lifecycle 库的版本信息 // https://developer.android.google.cn/jetpack/androidx...:$lifecycle_version" 始终导入 -ktx 软件包 要使用 Android 平台 API 的 Kotlin 扩展,导入 core-ktx 软件包即可。... = "1.3.2" implementation "androidx.core:core-ktx:$corektx_version" 大部分 ktx 功能使用 扩展函数 实现的,您可以通过 Android

1.1K30

Android:检测网络状态&监听网络变化

对象包含网络连接的所有信息 根据需要从NetworkInfo对象取出关于网络连接的信息 1.2 特别注意 由于在API23及以上时,getNetworkInfo(int networkType)方法已被...)方法被 public void checkState_21(){ //步骤1:通过Context.getSystemService(Context.CONNECTIVITY_SERVICE...监听网络变化 使用BroadcastReceiver广播接收器来接收网络状态(采用系统广播) BroadcastReceiver作为Android四大组件之一; 如果不懂得如何使用BroadcastReceiver...System.out.println("网络状态发生变化"); //检测API是不是小于23,因为到了API23之后getNetworkInfo(int networkType)方法被...WIFI断开,移动数据断开", Toast.LENGTH_SHORT).show(); } //API大于23时使用下面的方式进行网络监听 }else {

15.2K22

Carson带你学Android:检测网络状态&监听网络变化

对象包含网络连接的所有信息 根据需要从NetworkInfo对象取出关于网络连接的信息 1.2 特别注意 由于在API23及以上时,getNetworkInfo(int networkType)方法已被...1.3 具体检测代码 //检测当前的网络状态 //API版本23以下时调用此方法进行检测 //因为API23后getNetworkInfo(int networkType)方法被 public...监听网络变化 使用BroadcastReceiver广播接收器来接收网络状态(采用系统广播) BroadcastReceiver作为Android四大组件之一; 如果不懂得如何使用BroadcastReceiver...System.out.println("网络状态发生变化"); //检测API是不是小于23,因为到了API23之后getNetworkInfo(int networkType)方法被...WIFI断开,移动数据断开", Toast.LENGTH_SHORT).show(); } //API大于23时使用下面的方式进行网络监听 }else {

1.3K10

Android AGP8.1.0组件化初探

= null override fun onCreate(savedInstanceState: Bundle?)...= null override fun onCreate(savedInstanceState: Bundle?)...找不到解决方法:a.按照上面7中的步骤配置主模块和其他组件模块,一个都不能少。...若配置完还有问题,请仔细检查每一步,直到正常跳转和数据传递,本人是亲自尝试了多个项目,基本上都没问题.14.3 数据传递和接收问题图片解决方法:a.在kotlin中使用ARouter接收数据时需要使用@...如果添加了统一的catelog配置方式后导入依赖它会自动提示,不需要开发者手动导入,这点我感觉很爽,用起来简直不要太安逸了,感兴趣的同学可以自行尝试,这里就简单举例.图片图片16.总结:其实本文的目的不是在于如何使用

44720

Kotlin Android Extensions 的未来计划

作者 / 产品经理 David Winer Android Kotlin Extensions Gradle 插件 (请勿与 Android KTX 混淆) 发布于 2017 年,为使用 Kotlin...进行 Android 开发带来了两项新的便利功能: Synthetic 视图 : 您可以将调用 findViewById 替换为使用 kotlinx.android.synthetic 进行 UI 交互...在接下来的一年里,我们的团队将共同 synthetics,并继续支持我们建议的选项——"视图绑定 (View Binding)"。...如果您使用 Android Kotlin synthetics,建议尽快迁移到 "视图绑定 (View Binding)"。请参阅我们的 迁移指南 以了解更多详细信息。...期随着 Kotlin 1.4.20 的发布正式开始。android-kotlin-extensions 将继续保留至少一年时间,但在 2021 年 9 月或之后的 Kotlin 版本中将被移除。

83130

学习|Android中JetPack中的几个组件简单使用

前两天我还在做CameraX的小测试,不过没走通,因为现在非正式版本,等出了我再研究下吧。 ? 简单例子 ?...要使用DataBinding这个我觉得不用多主产了,直接开启这个就行,因为我的是Kotlin所以上面还要加上kotlin-kapt 02 fragment-ktx的引用 ?...上面这个是引用fragment-ktx的引用,引用这个库时是为了让我们更简单的调用ViewModel,一会儿的代码我会写出不用这个的调用方法,和这个的方法,当然引用这个时它会提示要使用jvm1.8,所以还需要加上下面的这步...03 lifecycle-savestate 一般来说,我们LiveData的话,应用程序在后台切换再回来后,当前的UI界面的数据也会保存的,在新的Android版本后,一般程序到后台一段时间后,系统会直接杀死程序了...import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import androidx.activity.viewModels

1.7K20

由浅入深,详解ViewModel的那些事

Hi,你好 引言 关于 ViewModel ,Android 开发的小伙伴应该都非常熟悉,无论是新项目还是老项目,基本都会使用到。...本文对应的组件版本: Activity-ktx-1.5.1 ViewModel-ktx-2.5.1 本篇定位中等,将从背景与使用方式开始,再到源码解读。...ViewModel使用方式 作为文章的开始,我们还是要先聊一聊 ViewModel 的使用方式,如下例所示: 当然,你也可以选择引入 activity-ktx ,从而以更简便的写法去写: implementation...SavedStateHandle使用方式 我们知道,ViewModel 可以处理因为配置更改而导致的的状态丢失,但并不保证异常终止的情况,而官方的 SavedStateHandle 正是用于这种情况的解决方式...如果当前创建,则直接使用;反之则调用我们的 ViewModel工厂 create() 方法创建新的 ViewModel。 创建完成后,并将其保存到 ViewModelStore 中。

75140

是时候更新手里的武器了—Jetpack架构组件简析

也许你还没有使用这个新的武器,那么我真的建议你去使用一下,感受下这个新武器的快准狠,感受下这个新架构的精妙解耦。...” 主要指的就是数据绑定库DataBinding,下面从六个方面具体介绍下 配置应用使用数据绑定: android { ......所以解决办法就是实现解耦,让需要管理生命周期的类自己管理,这样Activity也不会遗漏和臃肿了。...很常见的一点就是可以减少内存泄漏和崩溃情况了呀,想想以前你的项目中针对网络接口返回数据的时候都要判断当前界面是否销毁,现在LiveData就帮你解决了这个问题。 具体为什么能解决崩溃和泄漏问题呢?...implementation "androidx.room:room-rxjava2:$room_version" } 2)建立数据库类,声明数据库表成员,数据库名称,数据库版本

2.9K20
领券