Условно Разумное
В стектрейсе всё написано
В том то и дело, в стактрейсе написано просто Force finishing activity моего приложения
Условно Разумное
Никакой портянки нативного краша
Dmitry
Instant run пишет incompatible api level. Что не так? sdk 29
Dmitry
Ivan
Ivan
Должен быть 8+
Ivan
по-другому работает
Dmitry
Ivan
Dmitry
Печально
Bohdan ️
Привет, такой вопрос. Насколько плохой является практика использования callback’ов в качестве параметров метода Presenter? Это к ситуации, когда мне нужно выполнить действие с данными, после того, как они загрузились.
И если это bad practice, то какой подход стоит использовать в таких случаях?
Вот теоритический пример
interface SomeView {
fun onDataLoaded(data: MyData, postAction: (MyData) -> Unit)
}
interface MyPresenter {
fun loadSomeData(postAction: (MyData) -> Unit)
}
class MyPresenterImpl : MyPresenter {
private var view: SomeView? = null
override fun loadSomeData(postAction: (MyData) -> Unit) {
val data = mockData()
view?.onDataLoaded(data, postAction)
}
private fun mockData() = MyData(null)
}
Nikolai
похоже на MVVM-архитекутру
Nikolai
если это MVP то interface SomeView должен содержать методы для задания состояния вьюшек, которые быдет вызывать презентер когда у него появятся данные
Andy
Anonymous
Ребята привет)
@SerializedName("genre_ids")
val genreIds: List<Int>
Есть вот такое поле в Entity
подскажите какой метод нужно написать, чтобы room не ругался, что это не примитив?
Bohdan ️
Если хотите можете попробовать MVVM, а именно передавать данные через LiveData и подписываться на них во Fragment'e/Activity, таким образом можно уйти от callback`ов
Я бы с радостью и, где могу, перехожу. В данном случае уже просто есть готовый класс, в который не хотелось бы вносить много изменений, ради одного метода
Поэтому интересует - плохо это, хорошо или же так просто есть.
Ибо, с точки зрения, утечек никаких быть не должно, если вовремя detach'ить вью от презентера
Nikolai
Nikolai
Nikolai
почему не сделать например так?
interface SomeView {
fun setData(data: MyData)
}
interface MyPresenter {
fun loadSomeData()
}
class MyPresenterImpl : MyPresenter {
override fun loadSomeData() {
runInThread {
val data = mockData()
runInUIThread {
view.setData(data)
}
}
}
}
𓆝 𓆟 𓆞
Здравствуйте
𓆝 𓆟 𓆞
Хотел узнать, за сколько можно времени освоить Android разработку на уровне juniur , если уделять каждый день обучению
𓆝 𓆟 𓆞
Опыта в программировании нету
Данил
𓆝 𓆟 𓆞
А конкретнее?
Данил
Сначала выучите Java, Kotlin, а потом подавайтесь в Android - разработку
𓆝 𓆟 𓆞
Понял, мозгоебля
𓆝 𓆟 𓆞
Принципе норм
Andy
Как джуна Вас скорее всего будут кидать на поддержу уже написаных приложений, соответсвенно нужно знать и Java и Котлин ибо фиг знаешь что там будет, может там юзают и AsyncTask даже). Так что совет про Kotlin + Java - дельный
𓆝 𓆟 𓆞
Блин, недолюбливаю Java :(
Ilio
Хэх)
𓆝 𓆟 𓆞
Ладно, спасибо ребят
𓆝 𓆟 𓆞
Передумал быть разработчиком!
Ilio
Зря
𓆝 𓆟 𓆞
:D
Данил
Меньше конкуренции =)
𓆝 𓆟 𓆞
Просто я думал, что в сфере разработок моб приложений полегче будет
Alexey
Данил
𓆝 𓆟 𓆞
Проще уж питонистом быть
𓆝 𓆟 𓆞
Ivan
Alexey
питонистом проще по твоему?)
Данил
Ну а че, сфер на Python тоже довольно много
𓆝 𓆟 𓆞
Но скучно, хотелось бы конечно собственные приложения создавать
Alexey
𓆝 𓆟 𓆞
Alexey
каждая сфера хороша и интересна по своему
𓆝 𓆟 𓆞
Ну или вообще Go изучать
𓆝 𓆟 𓆞
Тоже как вариант, перспектива есть
Veli
привет, подскажите, пожалуйста, какой из классов не работает асинхронно с главным потоком - Future, Handler, Service или HandlerThread? Не могу загуглить
Veli
и еще один вопрос: что создается первым при создании приложения - actiity, application, content provider или view?
voodoo
кому-то нужно пособие для чайников прочитать
Mike
voodoo
онлайн собес)
Veli
ага)
Veli
нет, это не онлайн собес, я во фронте работаю
voodoo
в наше время фраза "я был на фронте" обретает новый окрас
Veli
Вопросы сформулированы оч плохо и на них несколько правильных ответов.
Да и не понятно, зачем тебе проходить тест, если ты откровенно не разбираешься в этом.
затем, что за него дают баллы. Мы легко проходим задачи по фронту и дизайну, но на задачах с нейтив мобилками есть небольшие проблемы
Ты же сам на эти вопросы ответить не можешь, как я вижу. Значит мы оба не разбираемся. Я пытался это погуглить, почитать доку, но пока что не прокатило. То, что они плохо сформулированы, я уже понял, раз гугл ни в какую подсказывать не хочте
voodoo
провокация не лучший способ узнать ответ
Veli
я не провоцирую, он предыдущим же сообщением сказал, что ответов может быть несколько и вопрос плохо сформулирован. Раз уж это составляли разработчики из вконтакте, то можно предположить, что ответ, скорее всего, там должен быть. Только вот я ни от кого еще пока что его не увидел 🙁
Veli
я почитал, если что, про все то, о чем спросил. Внятного ответа найти не смог. Мы же, люди, вроде, и существуем для того, чтобы друг другу помогать)) Да и смысла этого тг канала не улавливаю, если помощь тут получить нельзя
Mike
затем, что за него дают баллы. Мы легко проходим задачи по фронту и дизайну, но на задачах с нейтив мобилками есть небольшие проблемы
Ты же сам на эти вопросы ответить не можешь, как я вижу. Значит мы оба не разбираемся. Я пытался это погуглить, почитать доку, но пока что не прокатило. То, что они плохо сформулированы, я уже понял, раз гугл ни в какую подсказывать не хочте
> затем, что за него дают баллы
А, мухлюете короч. Так бы сразу и сказал.
Veli
никто не мухлюет, правилами было сказано, что можно будет юзать реакт нейтив и проходить все задачи. Как видишь, не прокатило
Veli
если бы правилами адекватно было сказано то, что нужен будет нейтив, то мы бы взяли нейтив разработчика точно так же, как и взяли дизайнеров
Izya
Mike
я почитал, если что, про все то, о чем спросил. Внятного ответа найти не смог. Мы же, люди, вроде, и существуем для того, чтобы друг другу помогать)) Да и смысла этого тг канала не улавливаю, если помощь тут получить нельзя
Ну тебе в данной ситуации нельзя, а кому-то очень даже можно. Тут люди каждый день помощь получают, если вопросы нормальные.
Mike
Veli
⬤ vitaly