android - Android Kotlin 从对象中检索上下文
问题描述
嘿,我正在使用带有 Kotlin 的 Android Studio,并且我有一个活动和一个服务都需要调用相同的方法,所以我创建了一个包含这些方法的对象,这就像一个 utils 类。
问题是这些方法依赖于一个需要创建应用程序上下文的字段,而我发现检索上下文的唯一方法是将它传递给构造函数,但由于它是一个对象,我不能这样做。
如何保持该对象行为并检索应用程序上下文?
解决方案
在 Kotlin 中,对象的行为类似于静态 util 类(不完全是字节码级别),因此您可以执行的选项很少
- 在需要上下文的对象中的每个 util 方法中传递上下文
- 创建一个类并保持应用程序上下文的全局引用,并通过在`s方法中创建和初始化它在
Application
任何地方使用它lateinit var
Application
onCreate
- 或者使用 DI 来注入应用程序上下文,而不是使用对象,而是使用在各处注入的单例范围实用程序
推荐阅读
- vue.js - 在 Vue 中链接静态 HTML 页面
- java - 尝试并捕获在 JAVA 中执行
- scala - 使用其他变量的值设置值
- javascript - CSS反转元素但在里面留下背景图像
- laravel - laravel 中的 phpunit 功能测试出错
- android - 物联网项目,如何在实时数据库中更新值时获得 Andorid 通知?
- django - 如何复制 Django auth.admin 组和权限管理页面表单?
- java - Snowflake JDBC 如何检查主机名/服务器的有效性?
- time - 如何在 ColdFusion 中获取时区的偏移量
- sql-server - 从 SQL Server 表生成 XML 文件所需的所有步骤