在构建Android库时,我可以使用什么模式来支持Activity中已配置的回调

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在构建Android库时,我可以使用什么模式来支持Activity中已配置的回调相关的知识,希望对你有一定的参考价值。

我正在为我们的平台构建一个android库,我正在努力解决如何允许我的用户传递一个在库中的某些时候被调用的函数。

该库启动一个Activity,该活动有一些指向我的https API的服务类。 (过于简单化,但希望这足够详细)

我想要提供的是我的用户传递回调的方法,该回调为API生成auth令牌,允许他们自己生成它。也许界面可能看起来像String getAuthToken()

但是我怎么能在不失去状态的情况下做到这一点呢?当库启动时我开始使用Singleton(它启动了一个Intent用于库的主要活动),但是当进程被杀死并且你尝试回到它然后应用程序崩溃时,单例就被设置了活动开始了。

我是否在Java或Android中错过了一些解决这个问题的明显模式?

答案

为什么在单例中需要一个活动的上下文?这看起来像一个糟糕的设计开始。你不需要它来发出网络请求。

当您展示活动时,您将控制其涉及的所有生命周期。是的,当你旋转屏幕时,android重新创建它,并且屁股上有巨大的痛苦,但为此,你可以使用ViewModels

enter image description here

以上是关于在构建Android库时,我可以使用什么模式来支持Activity中已配置的回调的主要内容,如果未能解决你的问题,请参考以下文章

Android,不使用支持库时,DrawerLayout 的等效类是啥?

不使用 Android 支持库时的 NavUtils 等价物?

如何在ActionBar的菜单项图标之间填充使用支持库时

在 Gradle Android 中实现自定义库时未解析类

当 TFVC 为源存储库时,Azure Pipelines 是不是支持使用同一管道构建和发布多个功能分支?

在 Android 上使用 JCIFS 库时在 URL 中使用 SMB 协议