StartAndroid Ru Kotlin
@kotlinchat 422 участника
Загрузить еще
9 августа
https://stackoverflow.com/questions/22604627/gradle-buildconfigfield-buildconfig-cannot-resolve-symbol
Народ! Напомните, пожалуйста, в чем отличие между File? и File! (один восклицательный знак)
nullable и нет
не File!!
а именно File!
эта запись используется только в IDE
в каком-то видео об этом упоминали, но сейчас не помню в каком
сам же разработчик такую запись использовать не может
это значит, что тип не допускает null
Предлагаю тебе изучить kotlin на уровне самого новичкового новичка (например что-то вроде первых пяти страниц какой-нибудь книжки "котлин для чайников"), и ты не будешь задавать таких вопросов...
Учу котлин channel так же как rx работают?
10 августа
Нет. Сама парадигма разная.
Канал это средство передачи данных между coroutines , rx это можно считать функциональное программирование.
Вдогонку вчерашнего разговора про записи "File?" и "File!"

1. val some = getPreferences(Context.MODE_PRIVATE).getString(SOME, "default") ?: "empty"
2. val some = getPreferences(Context.MODE_PRIVATE)?.getString(SOME, "default")
3. val some = getPreferences(Context.MODE_PRIVATE).getString(SOME, "default")

Тип для: 1 - String, 2 - String?, 3 - String!
IDE не позволит разработчику указать тип String!. Мы можем записать только String или String?, а также использовать оператор !! - String!!
ну и далее, если мы продолжим работу с нашей переменной
some.split(",")
1 - отработает чисто
2 - среда будет ругаться и не позволит применить метод
3 - среда выведет warning "Unsafe use of a nullable reciever of type String?", но метод применить позволит
Поэтому мой вопрос и заключался в том, чтобы напомнили значение записи "File!"
Как получить доступ к тому то что инициализировано в классе Application в котлине?
можно просто создать методы доступа к этим объектам
getApplicationContext() as App
И работать с полями.
Это самое простое, но со своими минусами
А какие минусы? Честный инстанс собственного же App ведь..
Постоянно писать as App
Сделать на свойстве private set
Много еще
12 августа
Про сеттер отчасти согласен, а as App в extension function уйдёт. Не хочется делать приватные сеттеры - сделать интерфейс к собственному App и возвращать его.
Как по мне, это не такие уж и минусы
так в том-то и дело, что по нормальному одинаково писать как компаньена так и as App.
Как кому нравится.
По мне, Лучше Koin подключить и архитектуру выпрямить. 😀
Ребят нужна помощь
у меня вьюшка находится в фрагменте но jvm ругается java.lang.IllegalStateException: camera_view must not be null
я пытался через эксперементальные и extensions layout container
но все четно
var camera_view = container?.rootView?.findViewById(R.id.camera_view)
если явно указать, то что не хватает в скобках с типом
13 августа
Код в студию...
Нарооод!!! Не могу сообразить, как этот код на котлин перевести:
Intent i = new Intent(getApplicationContext(), IntroActivity.class);
startActivity(i);
val i = Intent(getApplicationContext(), IntroActivity::class.java)
startActivity(i)
спасибо! я думал, что если класс на котлиновский, то не надо дописывать про джаву
надо))
В аргументах конструктора интента джавовской класс, вот и нужно дописывать
14 августа
Нарооод!!! Не могу понять, где искать ошибку
15 августа
Не взлетает :(
Я пытаюсь реализовать такую архитектуру:
в одном проекте несколько библиотек и два приложения. В главной, так сказать, центральной, билиотеке я на основе Moxy сделал реализацию активити (а так же презентера и вию-интерфейса для неё), которую использую в качестве супер-класса для активити приложений таким вот образом:
class MainActivity : PayableActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

val fs = Integer.parseInt(AppUserInfo.getEnter(this))
if (fs == 1) {
val i = Intent(applicationContext, IntroActivity::class.java)
startActivity(i)
}
}
}

При потыке построения исполняемого файла для приложения competitor_functional получаю ошибку:
...
:competitor_functional:kaptGenerateStubsDebugKotlin
e: error: error.NonExistentClass must be INTERFACE
:competitor_functional:kaptDebugKotlin FAILED
похоже, решение здесь https://kotlinlang.org/docs/reference/kapt.html
Спс.
Kotlin`у не нужно же указывать гетеры и сетеры при создании класса?
Я в Котлине новичек ,но вроде все верно же
Мля, там равно должно быть, сорь за беспокойство 😁
730492286
730814445
Telegram виджет для вашего сайта (скрыть это)