background preloader

Все

Facebook Twitter

RxAndroid Tutorial. RxJava. Убираем магию. Я долго боялся использовать RxJava в production.

RxJava. Убираем магию

Её назначение и принцип работы оставались для меня загадкой. Чтение исходного кода не добавляло ясности, а статьи только путали. Под катом попытка ответить на вопросы: «Какие задачи эта технология решает лучше аналогов?» Untitled. Укрощаем асинхронные процессы в Android с RxJava. Опыт Яндекса / Блог компании Яндекс. Всем привет, меня зовут Алексей Агапитов и сегодня я хочу рассказать, как с помощью такой библиотеки как RxJava можно легко обрабатывать множество асинхронных процессов в вашем Android приложении.

Укрощаем асинхронные процессы в Android с RxJava. Опыт Яндекса / Блог компании Яндекс

Мы разберём, как создавать свои холодные и горячие последовательности, обратим внимание на некоторые нюансы при использовании RxJava, а также рассмотрим насколько мощными инструментами являются предоставляемые данной библиотекой операторы. Рассказывать обо всём я буду на примере приложения Яндекс.Недвижимость и его главного экрана с картой. Для начала посмотрим на экран и разберёмся, что на нём происходит и что нам предстоит реализовать. Гифка, 13 мб. Принципы реактивного программирования на примере простого RSS-агрегатора с использованием ReactiveX для Python. Несколько примеров практического использования RxJava. RxJava — это реализация ReactiveX для Java — библиотеки для асинхронной обработки потоков данных.

Несколько примеров практического использования RxJava

Паттерн observable на стероидах, как они сами пишут. В интернете, в том числе на Хабре, есть много «введений в RxJava». Я хочу привести несколько примеров реальных задач. Они не очень сложные, но возможно кто-то увидит какие-то сходства со своими и задумается. Разбираемся с многопоточностью в RxJava / Блог компании Rambler&Co. Когда описывают преимущества RxJava, всегда упоминают об удобстве организации работы многопоточного приложения средствами RxJava.

Разбираемся с многопоточностью в RxJava / Блог компании Rambler&Co

То, как использовать операторы subscribeOn и observeOn, можно прочитать практически в каждой статье, посвященной основам RxJava. Например, здесь хорошо описаны случаи, когда использовать методы subscribeOn и когда observeOn. Как приручить реактивное программирование. Основы реактивного программирования под Android на практическом примере. 1.

Основы реактивного программирования под Android на практическом примере

Введение в реактивное программирование Разрабатывая сложное приложение под Android со множеством сетевых соединений, взаимодействием с пользователем и анимацией — означает писать код, который полон вложенных обратных вызовов. Замечания о реактивном программировании. Технологический ландшафт / Хабрахабр. Почему следует использовать RxJava в Android – краткое введение в RxJava. Здравствуйте все.

Почему следует использовать RxJava в Android – краткое введение в RxJava

Мы продолжаем знакомить вас с нашим издательским поиском, и хотели прозондировать общественное мнение на тему RxJava. В ближайшее время собираемся опубликовать более общий материал по реактивному программированию, которое нас также интересует не первый год, а сегодня предлагаем почитать о применении RxJava в Android, так как именно на этой платформе особенно важна динамичность и быстрота реагирования.

Добро пожаловать под кат В большинстве приложений Android мы реагируем на действия пользователя (щелчки, смахивание, т.д.), а тем временем в фоновом режиме идет какая-то другая работа (сетевая). Основы реактивного программирования под Android на практическом примере. Используем RxJava и Retrofit на Android, учитывая поворот экрана. Решил я однажды таки попробовать дико популярный нынче Rx.

Используем RxJava и Retrofit на Android, учитывая поворот экрана

А заодно и Retrofit. И посмотреть, как с их помощью реализовать стандартную задачу: получить с сервера набор данных, отобразить их и при этом ничего не терять при поворотах экрана и не делать лишних запросов. Первый вариант у меня получился сразу почти — просто взял и вызвал cache() на Observable, получаемый из синглтона, но он меня не устраивал — для принудительного обновления приходилось, по какой-то причине, пересоздавать экземпляры классов Retrofit и его же реализации моего интерфейса для API. Пересоздание же самого Observable эффекта не давало — всегда возвращались старые данные вместо запуска нового сетевого запроса и получения новых данных. После долгих мучений с новой для себя технологией выяснил, что во всём был виновен cache() (точнее, наверное, моё неправильное оного понимание). Немного о Stream API(Java 8) / Хабрахабр.

Небольшая статья с примерами использования Stream API в Java8, которая, надеюсь, поможет начинающим пользователям освоить и использовать функционал.

Немного о Stream API(Java 8) / Хабрахабр

Часто Stream API в Java8 используется для работы с коллекциями, позволяя писать код в функциональном стиле. Удобство и простота методов способствуют интересу к данному функционалу у разработчиков с момента его выхода. Итак, что такое Stream API в Java8? «Package java.util.stream» — «Classes to support functional-style operations on streams of elements, such as map-reduce transformations on collections».

Operators. Observable. Bolein/Intro-To-RxJava: Углубленный русскоязычный туториал по RxJava. The Art of Rx / Блог компании JUG.ru Group. Проблема, друзья.

The Art of Rx / Блог компании JUG.ru Group

Реактивщина везде, её слишком много и уже никому от неё не спрятаться. Мы с вами все умеем написать ASyncTask, Service или ContentProvider (я в это верю!). Все можем повернуть битмапу или сгонять на сервер за данными. Это все довольно очевидно. Но ещё МЫ ДУМАЕМ, что можем готовить реактивищну правильно. Введение в RxJava: Создание последовательности. Теперь, когда мы понимаем основные принципы Rx, настало время научиться создавать и управлять последовательностями.

Введение в RxJava: Создание последовательности

Стиль управления последовательностями был позаимствован у оригинального C# LINQ, который в свою очередь был вдохновлен функциональным программироанием. Мы поделим все операции по темам, которые отсортированы в порядке возрастания сложности операций. Разбираемся с многопоточностью в RxJava / Хабрахабр. Writing a custom reactive base type. Android Dev Подкаст: Реактивщина от А до Я в Android (RXJava)

Выпуск пятый. RXJava Серьезный разговор о реактивном программировании. Ответы на самые главные вопросы: Зачем? С чего начать? И как же прикрутить к жизненному циклу? Advanced RxJava: Operator-fusion (Part 1) Feedly. Read more, know more. Parallel execution of blocking tasks with RxJava and Completable. Advanced RxJava: FlatMap (part 1) M.habrahabr. Всем добрый день! Приблизительно месяц назад я писал статью об организации пагинации списков (RecyclerView) с помощью RxJava.

Что есть пагинация по-простому? Это автоматическая подгрузка данных к списку при его прокрутке. Решение, которое я представил в той статье было вполне рабочее, устойчивое к ошибкам в ответах на запросы по подгрузке данных и устойчивое к переориентации экрана (корректное сохранение состояния). Введение в RxJava: Жизненный цикл подписки / Хабрахабр. Одна из главных идей, лежащих в основе Rx, заключается в том, что неизвестно когда именно последовательность выдаст новое значение или завершится. Однако, у нас есть возможность управлять временем в которое мы начнем или закончим получать эти значения. К тому же, если наши подписчики используют внешние ресурсы, то мы вероятно захотим освободить их по окончанию некой последовательности.

Содержание: Часть первая – Вступление Часть вторая – Последовательности Создание последовательности Фильтрация последовательности Исследование Агрегация ТрансформацияЧасть третья – Управление последовательностямиЧасть четвертая – Параллельность. Home · ReactiveX/RxAndroid Wiki. Froussios/Intro-To-RxJava. Введение в RxJava, часть первая – Вступление: Почему Rx? 23 октября в 16:48 Этот цикл статей предназначен для знакомства начинающего реактивного программиста с мощью библиотеки RxJava ˜— реализации принципов реактивного программирования для JVM. Это перевод обширного туториала по RxJava Крисса Фруссиоса, основанного на IntroToRx для Rx.NET. Intro to Rx - Aggregation. RxJava Observable tranformation: concatMap() vs flatMap() Reark/reark. Home · ReactiveX/RxAndroid Wiki. RxJava Threading Examples - Evolvable Me. Android. Пару слов об MVP + rxJava. Advanced RxJava. Реактивное программирование в Android - ppApp. Rxjava. Введение в RxJava, часть первая – Вступление: Ключевые типы / Хабрахабр.

RxJava доставляет, Артём Зиннатуллин (Яндекс) — События Яндекса. Доклад Rx java. Реактивное программирование под Android / Блог компании 2ГИС. Java 8 в Android со Stream API и лямбдами. Грокаем* RxJava, часть первая: основы. RxJava. Борьба с вызовами суровой действительности.