Переведите пожалуйста представленный ниже код Kotlin на Java
Переведите пожалуйста представленный ниже код Kotlin на Java. Очень надо
class SimpleService : Service() {
private val binder = SimpleBinder()
//...//
override fun onBind(intent: Intent?): IBinder? {
return binder
}
inner class SimpleBinder : Binder() {
fun getService(): SimpleService = this@SimpleService
}
}
override fun onServiceConnected(name: ComponentName?, service: IBinder?) {
val binder = service as SimpleService.SimpleBinder
simpleService = binder.getService()
bound = true
}
}
Ответы (1 шт):
Автор решения: Andrew
→ Ссылка
В Android Studio есть такая хорошая штука Show Kotlin Bytecode. Делается так:
Menu > Tools > Kotlin > Show Kotlin Bytecode- Нажимаем кнопку
Decompile - Наслаждаемся результатом.
Используя инструкцию выше, конвертируем ваш код:
public final class SimpleService extends Service {
private final SimpleService.SimpleBinder binder = new SimpleService.SimpleBinder();
@Nullable
public IBinder onBind(@Nullable Intent intent) {
return (IBinder)this.binder;
}
public final class SimpleBinder extends Binder {
@NotNull
public final SimpleService getService() {
return SimpleService.this;
}
}
}
Этот кусок откуда-то с другого класса насколько я понял:
public abstract void onServiceConnected (ComponentName name,
IBinder service){
SimpleService.SimpleBinder binder = service as SimpleService.SimpleBinder
simpleService = binder.getService()
bound = true
}