All Projects → lulululbj → Androidutilcodektx

lulululbj / Androidutilcodektx

Licence: apache-2.0
Kotlin Android Util Code

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Androidutilcodektx

clearbit-go
Go bindings for Clearbit
Stars: ✭ 12 (-96.12%)
Mutual labels:  utils
core
🔥 Antares Core Implemenation. Most important project layer, this is the heart for your app. ACL, notifiter, console, geoip, areas, utils and many more...
Stars: ✭ 24 (-92.23%)
Mutual labels:  utils
Smart-Inspector
Fluent re-take on Unity Inspector UX. Packed with QoL improvements.
Stars: ✭ 680 (+120.06%)
Mutual labels:  utils
Assembly-Lib
A 16-bits x86 DOS Assembly library that provides many useful functions for developing programs. It has both VGA grapics functions as well as general purpose utilities. The main purpose of this library was to be able to implement simple DOS games (in Assembly) using VGA (320x200, 256 colors) display.
Stars: ✭ 36 (-88.35%)
Mutual labels:  utils
silky-charts
A silky smooth D3/React library
Stars: ✭ 38 (-87.7%)
Mutual labels:  utils
django-etc
Tiny stuff for Django that won't fit into separate apps.
Stars: ✭ 26 (-91.59%)
Mutual labels:  utils
utils.js
👷 🔧 zero dependencies vanilla JavaScript utils.
Stars: ✭ 14 (-95.47%)
Mutual labels:  utils
utils
javascript library of helper functions I use
Stars: ✭ 13 (-95.79%)
Mutual labels:  utils
util-ts
Utils for mobile browsers, built with TypeScript
Stars: ✭ 23 (-92.56%)
Mutual labels:  utils
bigger
bigg (bgfx + imgui + glfw + glm) + utils
Stars: ✭ 101 (-67.31%)
Mutual labels:  utils
sagittarius
🎯 A set of javascript most used utils📑
Stars: ✭ 42 (-86.41%)
Mutual labels:  utils
dotty dict
Dictionary wrapper for quick access to deeply nested keys.
Stars: ✭ 67 (-78.32%)
Mutual labels:  utils
at tools
Source repo for at_commons and at_utils on pub.dev
Stars: ✭ 22 (-92.88%)
Mutual labels:  utils
tdesign-common
TDesign style/utils shared by multiple frameworks repo.
Stars: ✭ 70 (-77.35%)
Mutual labels:  utils
go-tools
A utility tool library of Golang.
Stars: ✭ 44 (-85.76%)
Mutual labels:  utils
Log
Breaking android log word limits and automatically formatting json.
Stars: ✭ 14 (-95.47%)
Mutual labels:  utils
toxic-decorators
Library of Javascript decorators
Stars: ✭ 26 (-91.59%)
Mutual labels:  utils
Autoremove Torrents
Automatically remove torrents according to your strategies.
Stars: ✭ 298 (-3.56%)
Mutual labels:  utils
portuguese-utils
A set of useful utils for developing portuguese apps
Stars: ✭ 20 (-93.53%)
Mutual labels:  utils
urley
📦 An easy cross-platform utility library to work with URLs in Javascript.
Stars: ✭ 14 (-95.47%)
Mutual labels:  utils

AndroidUtilCodeKTX ! 专注提升 Android 开发效率 !

该类库利用 Kotlin 语言特性合理封装了 Android 开发中的常用操作,同时也收集了开发过程中的常用工具类。 旨在做同样的事情,写最少的代码,提升开发效率。

Change log

Use

implementation 'luyao.util.ktx:AndroidUtilKTX:0.0.5'

最新版本将第一时间用在我的另外两个开源项目,wanandroidBox,欢迎关注 !

APIS (keep updating...)


权限相关 [Demo]

FragmentActivity.request(vararg permissions: String, callbacks: PermissionsCallbackDSL.() -> Unit)

ActivityExt [Demo]

Activity.startKtxActivity(
    flags: Int? = null,
    extra: Bundle? = null,
    value: Pair<String, Any>? = null,
    values: Collection<Pair<String, Any>?>? = null
) 

fun <reified T : Activity> Activity.startKtxActivityForResult(
    requestCode: Int,
    flags: Int? = null,
    extra: Bundle? = null,
    value: Pair<String, Any>? = null,
    values: Collection<Pair<String, Any>?>? = null
) 

Fragment.startKtxActivity()
Fragment.startKtxActivityForResult()
Context.startKtxActivity
Activity.hideKeyboard()
Activity.showKeyboard(et: EditText)
Activity.hideKeyboard(view: View)

AppExt

Context.versionName: String
Context.versionCode: Long
Context.getAppInfo(apkPath: String): AppInfo
Context.getAppInfos(apkFolderPath: String): List<AppInfo>
Context.getAppSignature(packageName: String = this.packageName): ByteArray?
Context.isPackageInstalled(pkgName: String)

AesExt [Demo]

ByteArray.aesEncrypt(key: ByteArray, iv: ByteArray, cipherAlgotirhm: String = AES_CFB_NOPADDING): ByteArray
ByteArray.aesDecrypt(key: ByteArray, iv: ByteArray, cipherAlgotirhm: String = AES_CFB_NOPADDING): ByteArray 
File.aesEncrypt(key: ByteArray, iv: ByteArray, destFilePath: String): File?, cipherAlgotirhm: String = AES_CFB_NOPADDING)
File.aesDecrypt(key: ByteArray, iv: ByteArray, destFilePath: String): File?, cipherAlgotirhm: String = AES_CFB_NOPADDING)
initAESKey(size: Int): ByteArray
initCipher(mode: Int, key: ByteArray, iv: ByteArray, cipherAlgotirhm: String): Cipher

CommonExt

fromM()
beforeM()
fromN()
beforeN()
fromO()
beforeO()
fromP()
beforeP()
fromSpecificVersion(version: Int)
beforeSpecificVersion(version: Int)
Context.dp2px(dp: Int)
Context.px2dp(px: Int)
View.dp2px(dp: Int)
View.px2dp(px: Int)
Context.screenWidth
Context.screenHeight
Context.copyToClipboard(label: String, text: String)
Context.checkAccessbilityServiceEnabled(serviceName: String)
Any?.notNull(f: () -> T, t: () -> T): T
Context.isRTLLayout

Constants

fun isOnMainThread()

DrawableExt

Drawable.convertToBitmap()

FileExt

File.canListFiles
File.totalSize
File.formatSize
File.mimeType
File.listFiles(isRecursive: Boolean = false, filter: ((file: File) -> Boolean)? = null)
File.writeText(append: Boolean = false, text: String, charset: Charset = Charsets.UTF_8)
File.writeBytes(append: Boolean = false, bytes: ByteArray)
File.moveTo(destFile: File, overwrite: Boolean = true, reserve: Boolean = true)
File.moveToWithProgress(
    destFolder: File,
    overwrite: Boolean = true,
    reserve: Boolean = true,
    func: ((file: File, i: Int) -> Unit)? = null)
File.rename(newName: String)
File.rename(newFile: File)

HashExt [Demo]

ByteArray.hash(algorithm: Hash): String
String.hash(algorithm: Hash, charset: Charset = Charset.forName("utf-8")): String
ByteArray.md5Bytes(): ByteArray
ByteArray.md5(): String
String.md5(charset: Charset = Charset.forName("utf-8")): String
ByteArray.sha1Bytes(): ByteArray
ByteArray.sha1(): String
String.sha1(charset: Charset = Charset.forName("utf-8")): String
ByteArray.sha224Bytes(): ByteArray
ByteArray.sha224(): String
String.sha224(charset: Charset = Charset.forName("utf-8")): String
ByteArray.sha256Bytes(): ByteArray
ByteArray.sha256(): String
String.sha256(charset: Charset = Charset.forName("utf-8")): String
ByteArray.sha384Bytes(): ByteArray
ByteArray.sha384(): String
String.sha384(charset: Charset = Charset.forName("utf-8")): String
ByteArray.sha512Bytes(): ByteArray
ByteArray.sha512(): String
String.sha512(charset: Charset = Charset.forName("utf-8")): String
File.hash(algorithm: Hash = Hash.SHA1): String

IntentExt [Demo]

Context.getAppInfoIntent(packageName: String = this.packageName): Intent
Context.goToAppInfoPage(packageName: String = this.packageName)
Context.getDateAndTimeIntent(): Intent
Context.goToDateAndTimePage()
Context.getLanguageIntent()
Context.goToLanguagePage() 
Context.getInstallIntent(apkFile: File): Intent?
Context.goToAccessibilitySetting()
Context.installApk(apkFile: File)
Context.openBrowser(url: String)
Context.openInAppStore(packageName: String = this.packageName)
Context.openApp(packageName: String)
Context.uninstallApp(packageName: String)
Context.sendEmail(email: String, subject: String?, text: String?) 

KtxManager [Demo]

pushActivity(activity: Activity)
popActivity(activity: Activity)
finishCurrentActivity()
finishActivity(activity: Activity)
 finishActivity(clazz: Class<*>)
finishAllActivity()

KtxSpan [Demo]

text(
    text: CharSequence,
    isNewLine: Boolean = true,
    textSize: Int = -1,
    fontFamily: String = "",
    customTypeFace: Typeface? = null,
    isDp: Boolean = true,
    fontProportion: Float = -1f,
    xFontProportion: Float = -1f,
    lineHeight: Int = -1,
    foregroundColor: Int = -1,
    backgroundColor: Int = -1,
    alignment: Layout.Alignment? = null,
    isBold: Boolean = false,
    isStrikethrough: Boolean = false,
    isUnderline: Boolean = false,
    isItalic: Boolean = false,
    isBoldAndItalic: Boolean = false,
    isSuperscript: Boolean = false,
    isSubscript: Boolean = false,
    first: Int = 0,
    rest: Int = 0,
    quoteColor: Int = -1,
    quoteStripeWidth: Int = STANDARD_STRIPE_WIDTH_PX,
    quoteGapWidth: Int = STANDARD_GAP_WIDTH_PX,
    bulletColor: Int = -1,
    bulletRadius: Int = STANDARD_BULLET_RADIUS,
    bulletGapWidth: Int = STANDARD_GAP_WIDTH_PX,
    clickSpan: ClickableSpan? = null,
    url: String? = null,
    blurRadius: Float = -1f,
    blurStyle: BlurMaskFilter.Blur = BlurMaskFilter.Blur.NORMAL
): KtxSpan 
    
image(
    resId: Int,
    verticalAlignment: Int = KtxImageSpan.ALIGN_MIDDLE,
    marginLeft: Int = 0,
    marginRight: Int = 0,
    offsetY: Int = 0,
    fontWidthMultiple: Float = -1f
) 

blockLine(@Px height: Int, addBlockAlways: Boolean = false)

Listener [Demo]

SearchView.queryTextListener(listener: KtxQueryTextLister.() -> Unit)
SeekBar.onProgressBarChanged(callback: (Int, Boolean) -> Unit)
TextView.textWatcher(watcher: KtxTextWatcher.() -> Unit)
ViewPager.onPageSelected(pageChangedAction: (newPosition: Int) -> Unit)

LogExt

String.logv(tag: String = TAG)
String.logd(tag: String = TAG)
String.logi(tag: String = TAG)
String.logw(tag: String = TAG)
String.loge(tag: String = TAG)

SharedPreferencesExt [Demo]

<T> Context.putSpValue(key: String, value: T, name: String = packageName)
<T> Activity.putSpValue(key: String, value: T, name: String = packageName)
<T> Context.getSpValue(key: String, default: T, name: String = packageName ): T
<T> Activity.getSpValue(key: String, default: T, name: String = packageName): T

StringExt

String.areDigitsOnly()

SystemServiceExt

Context.windowManager
Context.clipboardManager
Context.layoutInflater
Context.activityManager
Context.powerManager
Context.alarmManager
Context.notificationManager
Context.keyguardManager
Context.locationManager
Context.searchManager
Context.storageManager
Context.vibrator
Context.connectivityManager
Context.wifiManager
Context.audioManager
Context.mediaRouter
Context.telephonyManager
Context.sensorManager
Context.subscriptionManager
Context.carrierConfigManager
Context.inputMethodManager
Context.uiModeManager
Context.downloadManager
Context.batteryManager
Context.jobScheduler
Context.accessibilityManager

ToastExt [Demo]

Context.toast(content: String, duration: Int = Toast.LENGTH_SHORT)
Context.toast(@StringRes id: Int, duration: Int = Toast.LENGTH_SHORT)
Context.longToast(content: String)
Context.longToast(@StringRes id: Int)
Any.toast(context: Context, content: String, duration: Int = Toast.LENGTH_SHORT)
Any.toast(context: Context, @StringRes id: Int, duration: Int=Toast.LENGTH_SHORT) 
Any.longToast(context: Context, content: String)
Any.longToast(context: Context, @StringRes id: Int)

TransformExt

ByteArray.toHexString() : 字节数组转十六进制字符串

ViewExt

View.visible()
View.invisible()
View.gone()
View.reverseVisiblity(needGone: Boolean = true)
View.changeVisible(visible: Boolean, needGone: Boolean = true)
var View.isVisible: Boolean
var View.isInvisible: Boolean
var View.isGone: Boolean
View.setPadding(@Px size: Int)
View.postDelayed(delayInMillis: Long, crossinline action: () -> Unit): Runnable
View.toBitmap(config: Bitmap.Config = Bitmap.Config.ARGB_8888): Bitmap
RecyclerView.itemPadding(padding:Int)
RecyclerView.itemPadding(top: Int, bottom: Int, left: Int = 0, right: Int = 0)
TextView.notEmpty(f: TextView.() -> Unit, t: TextView.() -> Unit)
View.onGlobalLayout(crossinline callback: () -> Unit)
fun View.afterMeasured(crossinline callback: View.() -> Unit)

Others

  1. KtxHandler : 跟随组件生命周期自动处理的 Handler
  2. KtxAppLifeObserver : 应用前后台监听
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].