Android Studio 3.0在重建之后重复压缩输入警告

在重建我的Java / Kotlin项目之后,我在Gradle控制台中收到了很多警告。 我怎样才能删除警告? 我尝试在我的build.gradle中的packagingOptions: apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-android-extensions’ android { compileSdkVersion 26 buildToolsVersion “25.0.2” compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } defaultConfig { applicationId “com.eusecom.samfantozzi” minSdkVersion 18 targetSdkVersion 26 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” multiDexEnabled true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } […]

为什么专家将MutableList更改为List?

我问了一个问题: 如何设计一个复杂的课程,包括一些课程,以便将来在Kotlin中轻松地进行扩展? 关于如何设计一个复杂的课程,包括一些课程,以便Kotlin将来可以轻松地扩展。 一位名叫s1m0nw1的专家给了我一个很好的答案,如下面的代码。 但我不知道他为什么要更改MutableList到List在https://stackoverflow.com/posts/47960036/revisions ,我可以得到正确的结果,当我使用MutableList。 你可以告诉我吗? 代码 interface DeviceDef data class BluetoothDef(val Status: Boolean = false) : DeviceDef data class WiFiDef(val Name: String, val Status: Boolean = false) : DeviceDef data class ScreenDef(val Name: String, val size: Long) : DeviceDef class MDetail(val _id: Long, val devices: List) { inline fun getDevice(): T { return […]

我可以省略Kot​​lin中不使用的接口方法吗?

如果我只对onSee感兴趣而不关心其他事件呢? 我可以至少省略没有返回值的方法吗? interface EventHandler { fun onSee() fun onHear() fun onSmell() fun onTouch() fun onAwake() fun onSleep() } fun addEventHandler(handler:EventHandler) { } fun Main() { addEventHandler(object:EventHandler { override fun onSee() { print(“I see.”) } }) }

为什么平台types不匹配nonnull对象

我是学习kotlin的新手,并试图用它开始一个android应用程序项目。 在我创建了一个项目之后,我陷入了我写的第一行代码中。 所以这是我的代码和错误。 我使MainFragment类扩展了Fragment,并将其实例传递给beginTransaction().add()方法。 我知道Fragment! 是一个平台types,它是实例化的Java类的types。 但我觉得没有理由Fragmenttypes不算数字Fragment! 。 我如何解决这个问题? +)我也试过MainFragment() as Fragment作为FragmentTransaction不会编译在Kotlin Android项目说,但它没有奏效。 +)在伴侣对象中也尝试了newInstance()

Maven导入依赖Jetbrains暴露

在Jetbrains的Exposed(一个Kotlin SQL框架)的github页面上,有一个链接指向一个页面,在这里你可以获得这个库的maven依赖( https://bintray.com/kotlin/exposed/exposed/view# )。 MVNRepository也可以find相同的依赖关系( https://mvnrepository.com/artifact/org.jetbrains.exposed/exposed/0.7.6 )。 我使用maven 3.3.9和Intellij 2016.3.4,但maven无法解决这种依赖。 我检查〜/ .m2 /目录,似乎它被下载(有一个jar子存在)。 看了一下仓库之后,我发现没有pom.xml,而且他们在哪里使用Gradle。 是否仍然可以用maven导入这个依赖项?

我可以在Room持久性中使用两个实体的一个模型吗?

我想知道,在Kotlin中使用Room Persistence时,是否可以使用两个实体的一个模型? 例如,我必须创建两个普通页面和星形页面的寻呼机。 他们都有以下领域.. id:String?,caption:String?,imageUrl:String?,isUserLike:Boolean(和更多) 数据来自两个独立的服务,我想单独保存。 我该怎么做,或者有什么办法来解决这个问题? 谢谢 PS我是Kotlin和Room持久性的初学者。

获取非包扩展属性的KProperty

在kotlin中,可以使用引用运算符来获取包扩展属性的KProperty,如下所示: val String.extProp: String get() = “Some get code” fun foo() { val prop: KProperty = String::extProp } 但是,扩展属性在类中声明时,引用操作符不再有效: class Example() { val String.extProp: String get() = “Some get code” fun foo() { val prop: KProperty = String::extProp // error } } 所以我想知道的是如何在第二个示例中更改有问题的行,因此KProperty被获取?

Gradle kotlin-spring插件不能打开spring类

我有以下的gradle脚本: buildscript { repositories { mavenCentral() } dependencies { classpath(“org.springframework.boot:spring-boot-gradle-plugin:${SPRING_BOOT_VERSION}”) classpath(“org.jetbrains.kotlin:kotlin-gradle-plugin:${KOTLIN_VERSION}”) classpath(“org.jetbrains.kotlin:kotlin-allopen:${KOTLIN_VERSION}”) } } apply plugin: org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapper apply plugin: org.jetbrains.kotlin.allopen.gradle.SpringGradleSubplugin apply plugin: org.springframework.boot.gradle.plugin.SpringBootPlugin[code] 它的目的是作为所有基于kotlin的服务的基础构建。 以下是我如何应用它: apply from: ‘../../xxx/xxx.gradle’ 然后在这个项目中,我已经应用了通用构建模板,我有这样的东西 @SpringBootApplication open class MainClass 如果我删除打开它抱怨说,这个类不应该是最后的。 我会假设,如果我使用kotlinspring我不需要手动添加打开。 我检查了这个设置对春季initializr工作,我不能发现差异。 这是工作版本 buildscript { ext { kotlinVersion = ‘1.1.4-3’ springBootVersion = ‘1.5.7.RELEASE’ } repositories { mavenCentral() } dependencies { classpath(“org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}”) […]

kapt2和butterknife产生lint错误:预期的idtypes的资源

更新到kotlin 1.0.4和kapt2时,出现以下lint错误: ../generated/source/kapt2/withMapsWithAnalyticsForPlayRelease/org/ligi/passandroid/ui/pass_view_holder/EditViewHolder_ViewBinding.java:20: Expected resource of type id 17 super(target, source); 18 19 View view; 20 view = Utils.findRequiredView(source, 2131624091, “method ‘onNavigateClick'”); 21 view2131624091 = view; 22 view.setOnClickListener(new DebouncingOnClickListener() { ../generated/source/kapt2/withMapsWithAnalyticsForPlayRelease/org/ligi/passandroid/ui/pass_view_holder/EditViewHolder_ViewBinding.java:28: Expected resource of type id 25 target.onNavigateClick(); 26 } 27 }); 28 view = Utils.findRequiredView(source, 2131624092, “method ‘onCalendarClick'”); 29 view2131624092 = view; 30 view.setOnClickListener(new […]

Lambda与Receiver的目的是什么?

Lambda在Kotlin的接收器的目的是什么?我们有扩展function吗? 下面的两个函数做同样的事情,但是第一个函数更具可读性和简短性: fun main(args: Array) { println(“123”.represents(123)) println(123.represents(“123”)) } fun String.represents(another: Int) = toIntOrNull() == another val represents: Int.(String) -> Boolean = {this == it.toIntOrNull()}