Библиотека включает в себя базовый набор средств и инструментов для Android-разработчика
Ориентирована на проекты, основным языком которых является Kotlin
Основная архитектура базируется на MVP, и частной её реализации, предоставляемой библиотекой Moxy
- UbNotify (средство показа пуш-уведомлений, инкапсулирующий в себе весь boilerplate-код)
- Extension-функции:
View.dpToPx(dp : Int): Float
View.visible
View.invisible
View.gone
AlertDialog.isNotShowing(): Boolean
Disposable.isNotDisposed(): Boolean
<T>ArrayList<T>.renew(list: Collection<T>): ArrayList<T>
Collection<String>.containsIgnoreCase(value: String): Boolean
View.animator(property Property<T, Float>, vararg values Float): ObjectAnimator
View.animator(property String, vararg values Float): ObjectAnimator
OkHttpClient.download(url: String, crossinline objectMapper: (byteStream: InputStream?) -> T?)
Drawable.colorize(colorInt: Int)
- Удобные Extension-функции для работы с
java.util.Calendar
:
Calendar.dayOfWeek
Calendar.day
Calendar.hours
Calendar.minutes
Calendar.seconds
Calendar.milliseconds
Calendar.addHours(hours: Int)
Calendar.addMinutes(minutes: Int)
Calendar.dayRoll(amount: Int)
- LogUtils с поддержкой кастомного обработчика ошибок (напр. Crashlytics)
- TextAdapter абстрактый класс TextWatcherAdapter
- BundleExtractorDelegate средство для работы с передаваемыми в
Fragment.arguments
иActivity.intent.extras
значениями с помощью Kotlin Delegates:
Fragment.<T>argument(key: String, defValue: T? = null)
Activity.<T>extra(key: String, defValue: T? = null)
- BeautySpan средство для удобной работы со Spannable-строками:
Context.spannableBuilder(builder: (SpannableStringCreator.() -> Unit)): SpannableString
- UbUtils (методы с * требуют вызова UbUtils.init(context) в Application):
* getString(@StringRes id: Int, vararg parameters: Any) : String
* getResources(): Resources
* copyTextToClipboard(text: String): Boolean
* getStatusBarHeight(): Int
timer: Sequence<Int>
isValidPhoneNumber(number: String): Boolean
isValidEmail(email: String): Boolean
getIPAddress(useIPv4: Boolean): String
isNetworkException(error: Throwable): Boolea
isBrokenSamsungDevice(): Boolean
hideSoftKeyboard(context: Context
openSoftKeyboard(context: Context, view: View)
isGpsIsEnabled(context: Context)
Артефакт опубликован в Maven Central. Для его поддержки нужно убедиться, что он подключен как источник:
repositories {
mavenCentral()
}
И после этого добавить строку в .gradle
файл:
dependencies {
implementation 'io.github.unitbean:androidcore:$latest_version'
}
Расположен в модуле app
проекта
- Виктор Лиханов
Yandex: volixanov@unitbean.com
- Денис Капустин
Yandex: denis.kapustin@unitbean.com
- Умалт Исакхаджиев
Yandex: uisakxazhiev@unitbean.com