Skip to content

Latest commit

 

History

History
107 lines (84 loc) · 3.87 KB

README.md

File metadata and controls

107 lines (84 loc) · 3.87 KB

androidcore

Maven Central

Библиотека включает в себя базовый набор средств и инструментов для 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