#Coroutines #Library
Coroutines Operators
RxJava очень популярное решение для работы с асинхронными задачами в Android разработке. Kotlin все активнее вытесняет Java в Android проектах и разработчики стараются втягивать нативные для зыки библиотеки, примерами которых является реализация корутин.
Для того чтобы миграция проходила проще ребята из EPAM сделали библиотеку, которая портирует основные операторы и позволяет упростить процесс миграции. Библиотека опубликована в версии 0.9.0 и авторам нужно ваше ревью и обратная связь перед релизом.
Пример использования библиотеки:
Coroutines Operators
RxJava очень популярное решение для работы с асинхронными задачами в Android разработке. Kotlin все активнее вытесняет Java в Android проектах и разработчики стараются втягивать нативные для зыки библиотеки, примерами которых является реализация корутин.
Для того чтобы миграция проходила проще ребята из EPAM сделали библиотеку, которая портирует основные операторы и позволяет упростить процесс миграции. Библиотека опубликована в версии 0.9.0 и авторам нужно ваше ревью и обратная связь перед релизом.
Пример использования библиотеки:
val firstName = async { "James" }val secondName = async { "Kirk" }zip(first, second) { first: String, second: String -> "$first $second" // Результат = "James Kirk"}GitHub
GitHub - epam/CoroutinesExtensions: To modify data RxJava provides a lot of methods, but Kotlin Coroutines doesn’t have them. This…
To modify data RxJava provides a lot of methods, but Kotlin Coroutines doesn’t have them. This library’s goal is creating functions that will provide users possibility to use the same functional as...
#ANR #Library
ANR-WatchDog - A simple watchdog that detects Android ANR error and throws a meaningful exception
Единственный способ для Android приложения поймать ANR - это опубликовать его в Google Play и смотреть за их статистикой в консоле.Очень полезно получать ошибки с ANR во время разработки и тестирования.
Библиотека ANR-WatchDog призвана решить эту проблема. Она настраивает таймеры на определение того, что ваш Main/UI поток не отвечает. Если такое событие происходит, библиотека выбрасывает ошибку
Подключение библиотеки
В Application.onCreate() добавьте
Рекомендую подключать библиотеку только в тестовых сборках вашего приложения и не включать его в production.
ANR-WatchDog - A simple watchdog that detects Android ANR error and throws a meaningful exception
Единственный способ для Android приложения поймать ANR - это опубликовать его в Google Play и смотреть за их статистикой в консоле.Очень полезно получать ошибки с ANR во время разработки и тестирования.
Библиотека ANR-WatchDog призвана решить эту проблема. Она настраивает таймеры на определение того, что ваш Main/UI поток не отвечает. Если такое событие происходит, библиотека выбрасывает ошибку
ANRError. При включенном дебагере библиотека отключается.Подключение библиотеки
implementation 'com.github.anrwatchdog:anrwatchdog:1.3.0'В Application.onCreate() добавьте
new ANRWatchDog().start();Рекомендую подключать библиотеку только в тестовых сборках вашего приложения и не включать его в production.
GitHub
GitHub - SalomonBrys/ANR-WatchDog: A simple watchdog that detects Android ANR (Application Not Responding) error and throws a meaningful…
A simple watchdog that detects Android ANR (Application Not Responding) error and throws a meaningful exception - SalomonBrys/ANR-WatchDog
#Library
TimetableLayout is a RecyclerView.LayoutManager to display the timetable for Android
LayoutManager для RecyclerView, позволяющий отображать вам ваш контент в виде расписания
TimetableLayout is a RecyclerView.LayoutManager to display the timetable for Android
LayoutManager для RecyclerView, позволяющий отображать вам ваш контент в виде расписания
GitHub
GitHub - MoyuruAizawa/TimetableLayout: TimetableLayout is a RecyclerView.LayoutManager to display the timetable for Android.
TimetableLayout is a RecyclerView.LayoutManager to display the timetable for Android. - MoyuruAizawa/TimetableLayout
#StrictMode #Library
StrictModeCompat
StrictMode в Android помогает находить различные проблемы в приложениях: выполнение I/O операций на главном потоке, незакрытые БД, неподходящие ресурсы и прочее.
Проблема в том, что это API очень фрагментировано и обновляется от версии к версии, и конфигурировать его для корректной работы на любой версии Android неудобно.
Для того чтобы эффективно использовать это API, я разработал библиотеку StrictModeCompat, которая позволяет не переживать есть ли API на текущей версии Android или нет - все что можно будет включить из того что вы захотели, будет включено.
Библиотека поддерживает Android 4.0+, Java 7 и имеет Kotlin DSL для удобной конфигурации.
StrictModeCompat
StrictMode в Android помогает находить различные проблемы в приложениях: выполнение I/O операций на главном потоке, незакрытые БД, неподходящие ресурсы и прочее.
Проблема в том, что это API очень фрагментировано и обновляется от версии к версии, и конфигурировать его для корректной работы на любой версии Android неудобно.
Для того чтобы эффективно использовать это API, я разработал библиотеку StrictModeCompat, которая позволяет не переживать есть ли API на текущей версии Android или нет - все что можно будет включить из того что вы захотели, будет включено.
Библиотека поддерживает Android 4.0+, Java 7 и имеет Kotlin DSL для удобной конфигурации.
GitHub
GitHub - androidbroadcast/StrictModeCompat: Safety call StrctiMode API methods from newer Android SDK on old versions
Safety call StrctiMode API methods from newer Android SDK on old versions - GitHub - androidbroadcast/StrictModeCompat: Safety call StrctiMode API methods from newer Android SDK on old versions
👍1
#Rx #Library #RxJava
Rxify: Retry with Exponential Backoff in RxJava
Библиотека для всех любителей RxJava, которая позволяет повторять выполнение Observable, при появление ошибке с экспоненциальным таймаутом повторения.
Rxify Github Repo
Rxify: Retry with Exponential Backoff in RxJava
Библиотека для всех любителей RxJava, которая позволяет повторять выполнение Observable, при появление ошибке с экспоненциальным таймаутом повторения.
Rxify Github Repo
Medium
Rxify: Exponential Backoff on retry
Whenever we think of retrying there are quite a few options available to us. Create a custom solution with recursion perhaps or maybe an…
👍1
#Network #Library
netWatch
Небольшая библиотека, которая проверяет наличие доступа в интернет. Именно интернет, а не наличие Wi-Fi или мобильной сети.
Библиотека имеет следующие функции:
👉 Уведомление об изменение состояния подключения к интернету
👉 Отображение системного кастомизуремого уведомления при измненения состояния подключения к интернету
👉 Делать ping по указанному IP адресу, чтобы проверить возможность подключения
netWatch
Небольшая библиотека, которая проверяет наличие доступа в интернет. Именно интернет, а не наличие Wi-Fi или мобильной сети.
Библиотека имеет следующие функции:
👉 Уведомление об изменение состояния подключения к интернету
👉 Отображение системного кастомизуремого уведомления при измненения состояния подключения к интернету
👉 Делать ping по указанному IP адресу, чтобы проверить возможность подключения
GitHub
GitHub - thesiamak/netWatch: Simple Android library to notify Android device network changes and react properly.
Simple Android library to notify Android device network changes and react properly. - GitHub - thesiamak/netWatch: Simple Android library to notify Android device network changes and react properly.
👍1
#OkHttp #Library
OkHttp 3.14.2
Вышел OkHttp 3.14.2 в котором произошло исправление багов при работе с HTTP/2 и исправлены
OkHttp 3.14.2
Вышел OkHttp 3.14.2 в котором произошло исправление багов при работе с HTTP/2 и исправлены
NullPointerException👍1
#Rx #Kotlin #Library
Reaktive — Настоящий RxKotlin на чистом Kotlin
Как бы я не любил #Coroutine, Rx подход решил много проблем в свое время: callback hell, предоставил удобный стиль работы с потоками данных (функциональный) и упростил работу с многопоточными приложениями.
Я уверен, что большинство Android программистов знают #Rx подход по библиотеки RxJava, но она о Java 😞. Написали RxKotlin, но она является набором расширений для #RxJava и работает только c Kotlin/JVM.
В сообществе уже давно обсуждали написание Rx библиотеки на чистом Kotlin. Это бы дало:
👉 Поддержку работы на множестве платформ (Kotlin Multiplatform Projects)
👉 Учет системы типов Kotlin, а значит поддержку null safety
👉 Корректную поддержку Generic из Kotlin
👉 Убрать зависимости от каких либо сторонних Rx библиотек
👉 Сделать архитектуру и API с использованием всех возможностей языка Kotlin
Ребята из Badoo решили не ждать и написать решение сами. Встречайте библиотеку Reaktive. Библиотека пока находится в Alpha статусе (возможны изменения API) и разработка новых фичей продолжается.
Reaktive — Настоящий RxKotlin на чистом Kotlin
Как бы я не любил #Coroutine, Rx подход решил много проблем в свое время: callback hell, предоставил удобный стиль работы с потоками данных (функциональный) и упростил работу с многопоточными приложениями.
Я уверен, что большинство Android программистов знают #Rx подход по библиотеки RxJava, но она о Java 😞. Написали RxKotlin, но она является набором расширений для #RxJava и работает только c Kotlin/JVM.
В сообществе уже давно обсуждали написание Rx библиотеки на чистом Kotlin. Это бы дало:
👉 Поддержку работы на множестве платформ (Kotlin Multiplatform Projects)
👉 Учет системы типов Kotlin, а значит поддержку null safety
👉 Корректную поддержку Generic из Kotlin
👉 Убрать зависимости от каких либо сторонних Rx библиотек
👉 Сделать архитектуру и API с использованием всех возможностей языка Kotlin
Ребята из Badoo решили не ждать и написать решение сами. Встречайте библиотеку Reaktive. Библиотека пока находится в Alpha статусе (возможны изменения API) и разработка новых фичей продолжается.
👍1