#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
#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…
#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.
#OkHttp #Library
OkHttp 3.14.2
Вышел OkHttp 3.14.2 в котором произошло исправление багов при работе с HTTP/2 и исправлены
OkHttp 3.14.2
Вышел OkHttp 3.14.2 в котором произошло исправление багов при работе с HTTP/2 и исправлены
NullPointerException
#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) и разработка новых фичей продолжается.
#Library #Hack
Only
Как часто вы сталкивались с тем, что тестировщик нервно жмет на кнопку, какой-то экран у вас открывается несколько раз и вам прилетает баг? Малоприятная ситуация. Приходится идти и рассказывать, что это не баг, а ситуация на которую не распространяется проверка в приложении и в реальном мире таких ситуаций не происходит.
Но бывают случаи, когда менеджер заставлял делать затычку, обычно в виде
Библиотека Only предоставляет простое API, которое позволяет выполнять действия строго не более указанного вами количества раз.
Only
Как часто вы сталкивались с тем, что тестировщик нервно жмет на кнопку, какой-то экран у вас открывается несколько раз и вам прилетает баг? Малоприятная ситуация. Приходится идти и рассказывать, что это не баг, а ситуация на которую не распространяется проверка в приложении и в реальном мире таких ситуаций не происходит.
Но бывают случаи, когда менеджер заставлял делать затычку, обычно в виде
boolean
флага, которая будет блокировать выполнение действий множество раз ☹️. Что делать если таких кнопок в вашем приложении много?Библиотека Only предоставляет простое API, которое позволяет выполнять действия строго не более указанного вами количества раз.
#Library #Security #Network
Certificate Transparency for Android
Хотите сделать защиту сетевого слоя более надежной и обезопасить от себя атак от "man-in-the-middle" ? Тогда вы можете использовать библиотеку, которая позволит вам реализовать Certificate Transparency, которая позволяет определить, что SSL сертификат не был подменен злоумышленником.
Библиотека поддерживает OkHttp, Volley, HttpURLConnection
Certificate Transparency for Android
Хотите сделать защиту сетевого слоя более надежной и обезопасить от себя атак от "man-in-the-middle" ? Тогда вы можете использовать библиотеку, которая позволит вам реализовать Certificate Transparency, которая позволяет определить, что SSL сертификат не был подменен злоумышленником.
Библиотека поддерживает OkHttp, Volley, HttpURLConnection
GitHub
GitHub - babylonhealth/certificate-transparency-android: Certificate transparency for Android and Java
Certificate transparency for Android and Java. Contribute to babylonhealth/certificate-transparency-android development by creating an account on GitHub.