Tag: Java

如何在Android studio中随机生成一个字符串和颜色的字符串

我试图让一个程序随机生成一个文本,让文本随机颜色,但我不知道如何。 可以在Java或Kotlin中。

匕首2活动不能提供@提供或@产生注释的方法

我是新来的匕首,我试图实现一个从注入正在发生的类inheritance的类。 当我在MainActivity中注入一个组件并从BaseActivityinheritance它时,事情就破灭了。 我的AppComponentClass: @Singleton @Component(modules = {NetworkModule.class, ApplicationModule.class, AndroidModule.class}) public interface AppComponent { void inject (BaseActivity baseActivity); void inject (MainActivity mainActivity); } } 我的ActivityModule类: @Module public class ActivityModule { private Activity activity; public ActivityModule(Activity activity) { this.activity = activity; } @PerActivity @Provides @ActivityContext public Context provideContext() { return activity; } } 我的ApplicationModule类: @Module public class […]

org.gradle.api.tasks.TaskExecutionException:执行失败的任务’:app:compileDebugKotlin’

我在两天前开始在Kotlin中创建我的应用程序,而且我的应用程序运行正常,但第二天当我第一次打开该项目并尝试运行我的应用程序时,此Gradle错误显示Compilation error. See log for more details Compilation error. See log for more details当我在“运行任务”中看到此错误 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ‘:app:compileDebugKotlin’. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70) at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62) at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87) at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199) at […]

即使使用jackson-datatype-jsr310,Instant也不能被序列化为适当的格式

添加以下依赖项: compile(“com.fasterxml.jackson.module:jackson-module-parameter-names:2.8.9”) compile(“com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.8.9”) compile(“com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.8.9”) 我现在可以通过即时反序列化以下JSON: { “timestamp”: {{$timestamp}} } 到以下对象: Transaction(timestamp=2017-07-02T10:58:18Z) 用下面的类声明 data class Transaction(@NotNull val timestamp: Instant) 但是,当立即序列化后,我得到以下几点: { “timestamp”: 1498992172 } 我正在用Kotlin使用Spring Boot 。

在没有JVM支持的情况下,如何在JVM语言中实现协程?

在阅读Loom提案之后 ,提出了这个问题,该提议描述了使用Java编程语言实现协程的方法。 特别是这个建议说要在语言中实现这个function,将需要额外的JVM支持。 据我所知,JVM上已经有几种语言,它们的协同程序是Kotlin和Scala等function集的一部分。 那么如何在没有额外的支持的情况下实现这个function呢?

在Java方法中引用reflectionAPI的一部分

在Kotlin中,方法引用的结果放在包kotlin.reflect中。 Java中的方法引用也是reflection-api的一部分吗?

Gson Map to Object

将Map格式的JSON转换为相应的java / kotlin对象的最有效方法是什么? 现在我必须像这样使用它,这似乎是一个愚蠢的实现。 gson.fromJson(gson.toJson(mapToConvert), typeToken) 有什么建议么?

如何检查在AssertJ中的平等或两者都为空?

我想断言expected和actual是相等的。 如果两者都为null或空白( “” ) – 即null表示空白。 .withComparator(…).isEqualTo(expected)不起作用,因为之前通过AspectJ检查了null : @Given(“^data is \”([^\”]*)\”$”) void theDataIs(String arg) { assertThat(msg.getData()) .usingComparator(blankOkComperator).isEqualTo(arg); } 我的比较者是Kotlin,但你有这样的想法: object blankOkComperator : Comparator { override fun compare(o1: String?, o2: String?): Int { if(StringUtils.isBlank(o1) && StringUtils.isBlank(o2)) return 0 if(StringUtils.isBlank(o1)) return -1 if(StringUtils.isBlank(o2)) return 1 return o1!!.compareTo(o2!!) } } 我只设法通过覆盖AssertJ的Condition来实现检查,但是对我来说看起来并不是很强硬: @Given(“^data is \”([^\”]*)\”$”) void theDataIs(String arg) { […]

智能投射不可能,因为实例是可变属性

我试图在Kotlin中创建一个单例,并且遇到问题,因为我得到了一个smart cast to PresenterManager is impossible because instance is mutable property that could have been changed at this time 。 这似乎是一个非常标准的方式来做一个单身人士。 为什么不让我,我怎么能解决它? PresenterManager { //some code …. companion object { private val PRESENTER_ID = “presenter_id” private var instance: PresenterManager? = null fun getManager(): PresenterManager { if (instance == null) { instance = PresenterManager(10, 30, TimeUnit.SECONDS) […]

如何获得.kt文件中的所有类的列表

是否有可能获取.kt文件中的类的列表? 看来,KDeclarationContainer是我正在寻找的类,但我不确定如何使用它。 编辑:我正在使用Kotlinreflection。