跳至内容

Android Compose开发:Retrofit如何实现JWT授权认证和自动刷新Token功能?OkHttp3中Interceptor和Authenticator使用实例

之前写的《NestJS中如何进行鉴权和授权验证?JWT、Passport》这篇文章,介绍了在NestJS端如何实现JWT授权验证,下面介绍下,如何在Android端,利用Retrofit和OkHttp3来实现接口认证和Token自动刷新的功能。 Interceptor 在Android端,我们请求后端接口一般是以下代码: 如果每个接口都这么写,那就有很多重复…

Kotlin在Android中的应用:Cold Flow和Hot Flow的区别

在 Kotlin 的 Flow 中,”冷流”(Cold Flow)和 “热流”(Hot Flow)是两种不同的数据流模型,分别用于处理不同的数据流场景。以下是它们的区别以及相应的代码示例。 冷流(Cold Flow): 冷流是 Flow 的默认模式,每个收集者(collector)都会获得独立的数据流。每当有一…

Kotlin在Android中的应用:Coroutine协程在安卓中的开发应用

协程(Coroutines)在 Android 开发中的应用非常广泛,它们为处理异步任务和并发操作提供了一种更简洁、可读性更高的方式。以下是协程在 Android 开发中的一些常见应用场景: 协程在 Android 开发中提供了一种更加结构化、可读性更高的异步编程方式,使开发者能够以更直观的方式处理并发操作和异步任务,减少了回调地狱和线程管理的复杂性。可以使…

Kotlin在Android中的应用:viewModelScope 和 CoroutineScope的区别

viewModelScope 和 CoroutineScope 都是用于创建和管理协程的工具,但它们的作用和范围有所不同。它们通常在不同的上下文中使用,主要用于不同的目的。 总结: 无论你选择使用哪个,都要根据你的特定情况和需求来决定。如果在 ViewModel 中进行异步操作,viewModelScope 更为方便。如果在其他类中需要使用协程,你可以创建一…

解决Could not resolve all files for configuration ‘:app:debugRuntimeClasspath’等问题

SEO禅今天打开以前的一个安卓项目,想做些修改,运行的时候遇到了如下的错误提示: 网上大多数解决方案都是更换Maven库代理,或者更换顺序,其实很有可能你现在的Gradle是处于离线模式,看看是不是如下图: 点击上面的红框图标,把Gradle改成online模式,可以试试解决这个问题。