我是 Hilt/Dagger 的新手,我还没有找到注入伴随对象的好例子。下面是我的单例和数据类。我正在尝试在 create() 函数中使用 TargetNumber 管理器。我正在寻找语法帮助和原因解释。
@InstallIn(SingletonComponent::class)
@Module
data class TargetNumberManager(
val maxNumber: Int = 3,
val prefix: String = "ZZ"
) : ITargetNumberManager {
private var currentNumber = 0
@Singleton
@Provides
override fun getNextTargetNumber(): String {
val targetNumberBuilder: StringBuilder = java.lang.StringBuilder()
targetNumberBuilder.append(prefix)
val lengthOfNumber = currentNumber.toString().length
for (i in lengthOfNumber..maxNumber step 1) {
targetNumberBuilder.append(0)
}
targetNumberBuilder.append(currentNumber++)
return targetNumberBuilder.toString()
}
}
Run Code Online (Sandbox Code Playgroud)
// 数据类
data class Target(
@PrimaryKey
val targetNumber: String,
val targetType: TargetType?,
val numOfElement: Int?,
val location: Coordinate? …Run Code Online (Sandbox Code Playgroud)