【发布时间】:2019-09-24 15:41:02
【问题描述】:
我以前在 android 中实现了用于 IPC 的 AIDL。我想添加新方法,因为这个aidl 在客户端类中有多个实现,我不想为所有类实现。我想使用默认方法,就像它在 Java 8 中支持的那样。
【问题讨论】:
标签: android kotlin java-8 aidl
我以前在 android 中实现了用于 IPC 的 AIDL。我想添加新方法,因为这个aidl 在客户端类中有多个实现,我不想为所有类实现。我想使用默认方法,就像它在 Java 8 中支持的那样。
【问题讨论】:
标签: android kotlin java-8 aidl
default 关键字应该在任何interface 描述中可用,即使是从AIDL 生成的。这不会向后兼容 Java 7,因此它可能需要 minSdkVersion 26 并且:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
【讨论】:
default 关键字。当手动定义 interface 而不是生成它时,它应该仍然可以工作。可能这值得一个错误报告。
使用它谁在阻止你?
在界面内部,您可以编写如下代码:
默认无效显示() {
System.out.println("Default method here");
}
【讨论】: