Size: a a a

Android Developers

2020 September 11

EA

Evgeny AcindaZ in Android Developers
Никакой портянки нативного краша
источник

DS

Dmitry Sokolov in Android Developers
Instant run пишет incompatible api level. Что не так? sdk 29
источник

DS

Dmitry Sokolov in Android Developers
источник

I

Ivan in Android Developers
Dmitry Sokolov
Instant run пишет incompatible api level. Что не так? sdk 29
а на девайсе какой Android?
источник

I

Ivan in Android Developers
Должен быть 8+
источник

DS

Dmitry Sokolov in Android Developers
Ivan
Должен быть 8+
На старой андроид студио с 5+ работало
источник

I

Ivan in Android Developers
Dmitry Sokolov
На старой андроид студио с 5+ работало
мб это был Instant Run? Apply Changes это другое
источник

I

Ivan in Android Developers
по-другому работает
источник

DS

Dmitry Sokolov in Android Developers
Ivan
мб это был Instant Run? Apply Changes это другое
ну Apply Changes же заменил Instant Run?
источник

I

Ivan in Android Developers
Dmitry Sokolov
ну Apply Changes же заменил Instant Run?
ну да. И стал Android 8+
источник

DS

Dmitry Sokolov in Android Developers
Печально
источник

B

Bohdan in Android Developers
Привет, такой вопрос. Насколько плохой является практика использования 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)
}
источник

NM

Nikolai Melkov in Android Developers
похоже на MVVM-архитекутру
источник

NM

Nikolai Melkov in Android Developers
если это MVP то interface SomeView должен содержать методы для задания состояния вьюшек, которые быдет вызывать презентер когда у него появятся данные
источник

AY

Andy Yanechko in Android Developers
Nikolai Melkov
похоже на MVVM-архитекутру
По-моему вообще ничем на MVVM не мохоже, а вот на MVP - самое оно.
источник

AY

Andy Yanechko in Android Developers
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)
}
Если хотите можете попробовать MVVM, а именно передавать данные через LiveData и подписываться на них во Fragment'e/Activity, таким образом можно уйти от callback`ов
источник

RR

Rustaveliman Rustave... in Android Developers
Ребята привет)
@SerializedName("genre_ids")
val genreIds: List<Int>

Есть вот такое поле в Entity
подскажите какой метод нужно написать, чтобы room не ругался, что это не примитив?
источник

B

Bohdan in Android Developers
Andy Yanechko
Если хотите можете попробовать MVVM, а именно передавать данные через LiveData и подписываться на них во Fragment'e/Activity, таким образом можно уйти от callback`ов
Я бы с радостью и, где могу, перехожу. В данном случае уже просто есть готовый класс, в который не хотелось бы вносить много изменений, ради одного метода

Поэтому интересует - плохо это, хорошо или же так просто есть.

Ибо, с точки зрения, утечек никаких быть не должно, если вовремя  detach'ить вью от презентера
источник

NM

Nikolai Melkov in Android Developers
Rustaveliman Rustaveliman
Ребята привет)
@SerializedName("genre_ids")
val genreIds: List<Int>

Есть вот такое поле в Entity
подскажите какой метод нужно написать, чтобы room не ругался, что это не примитив?
Описать TypeConverter для списка интов https://developer.android.com/training/data-storage/room/referencing-data
источник

NM

Nikolai Melkov in Android Developers
Bohdan
Я бы с радостью и, где могу, перехожу. В данном случае уже просто есть готовый класс, в который не хотелось бы вносить много изменений, ради одного метода

Поэтому интересует - плохо это, хорошо или же так просто есть.

Ибо, с точки зрения, утечек никаких быть не должно, если вовремя  detach'ить вью от презентера
где вызывается presenter.loadSomeData() почему нужен именно  callback?
источник