Articles of android livingata

Как наблюдать данные PagedList?

Я использую Paging Library и компоненты Android Architecture. Я просто хочу наблюдать pagedlist livedata и обновлять свой RecyclerView при изменении. Я наблюдаю объекты isLoadingLiveData, isEmptyLiveData и errorLiveData, которые являются объектами MediatorLiveData, созданными в моей модели ViewModel и наблюдаемые в моем фрагменте. А также наблюдение resultLiveData, которое возвращает выбранный список Gist с удаленного. В моей модели […]

Рекурсивный вызов по ленивому значению с использованием LiveData и ObserveForever

У меня есть следующая структура классов: Activity> ViewModel> DataManager> ApiManager Я пытаюсь использовать LiveData для совместного использования объектов между слоями. DataManager и ApiManager являются объектами kotlin, поэтому они не имеют ссылки на действия. Чтобы реализовать «обратный вызов», я использую функции observeforever в DataManager и ApiManager следующим образом: fun doStuff(inParam:String, inParam2:String)LiveData<Pair<String,Boolean>>{ var reponse:MutableLiveData<Pair<String,Boolean>> = MutableData() val […]

LiveData Observver поймает только первое значение

Я получаю список проблем из базы данных Firebase и возвращаю LiveData . fun getAllIssues(): MutableLiveData<IssueEntity> { val issues: MutableLiveData<IssueEntity> = MutableLiveData() val issuesReference = FirebaseDatabase.getInstance().reference.child("issues") issuesReference.addValueEventListener(object : ValueEventListener { override fun onCancelled(p0: DatabaseError?) { } override fun onDataChange(snapshot: DataSnapshot?) { if (snapshot == null) { return } snapshot.children.forEach({ val issueMessage = it.child("message").value.toString() val issueTitle = […]

Как обрабатывать ошибки в rxjava2 в android

Привет Я использую RxJava2 с LiveData в моем приложении для Android. Я делаю http-вызов, используя ниже @Inject lateinit var retrofit: Retrofit override fun doServerLoginApiCall(email: String, password: String): LiveData<LoginResponse> { val liveData = MutableLiveData<LoginResponse>() retrofit.create(RestApi::class.java).login(email, password) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe { loginResponse -> liveData.setValue(loginResponse); } return liveData } Как я могу обрабатывать ошибку, как показано ниже в […]

Android LiveData Observer не активен после первого обновления

Я пытаюсь выполнить базовую реализацию Live Data Data Component с Kotlin следующим образом: class MarketFragment : LifecycleFragment(){ …… override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) viewModel=ViewModelProviders.of(this).get(MarketViewModel::class.java) viewModel.book?.observe(this, Observer { book-> //updateUI }) …. Мой класс ViewModel создается следующим образом: class MarketViewModel : ViewModel() { var book: MutableLiveData<Book>? =MutableLiveData() var repository: Repository?= Repository() init { update("parameter") } […]

Nullability и LiveData с Kotlin

Я хочу использовать LiveData с Kotlin и иметь значения, которые не должны быть нулевыми. Как вы справляетесь с этим? Возможно, обертка вокруг LiveData? Поиск хороших моделей здесь. Например: class NetworkDefinitionProvider : MutableLiveData<NetworkDefinition>() { val allDefinitions = mutableListOf(RinkebyNetworkDefinition(), MainnetNetworkDefinition(), RopstenNetworkDefinition()) init { value = allDefinitions.first() } fun setCurrent(value: NetworkDefinition) { setValue(value) } } Я знаю, что […]

Robolectric test и LiveData

Чтобы повесить Kotlin, LiveData и Robolectric alltogether, я получил простое действие заставки. Он работает правильно при запуске приложения, но он не работает в тесте. Это похоже на обратный вызов живых данных, который никогда не срабатывает, или, как если бы для него не было зарегистрировано никакого обервера. Вот тест: @Test fun should_redirect_to_login_when_time_is_up_after_onStart() { val timeUp = […]

Как связать преобразования в Android при использовании живых данных?

Учитывая следующую настройку: У меня есть 2 репозитория: репозиторий A и репозиторий B оба из них возвращают данные в реальном времени. У меня есть ViewModel, который использует оба этих репозитория. Я хочу извлечь что-то из репозитория A, и в зависимости от результата я хочу взять что-то из репозитория B, а затем преобразовать результат, прежде чем […]

Intereting Posts
val … get () {…} в Котлине LinkageError для экземпляра класса Kotlin с уведомлением метода () Класс <?> Clazz в Котлине Ограничение генерации Котлина Как предотвратить заражение объекта kotlin.Unit от Proguard Доступ к внешней ценности внутри Kotlin сортирует массив по значению в диапазоне Исключение происходит во время действия Expression Expression: kotlin coroutine throws java.lang.IllegalStateException: уже возобновлено, но получил значение Место Автоматическое обновление версии библиотеки для проектов Gradle в настоящее время не поддерживается. Обновите файл build.gradle вручную. Что такое объект-компаньон и зачем он нам нужен? Как ссылаться на класс Boolean java из kotlin? Ошибка исключения исключения в асинхронном вызове Anko (Kotlin) Kotlin: как передать объектную функцию как параметр другому? Как имитировать излучение 2 infiite Наблюдаемые потоки и есть другие Observable, которые объединяют их и буферируют каждые 10 секунд?