Kotlin写的Android工具库

Java基础

浏览数:179

2019-8-22

在Android开发中,我们会经常写一些Utils工具性质的方法,但是每开一个项目都要重新写的话就太造轮子了.
于是乎,小白开始把自己开发中常用的一些工具方法集合起来(当然不是所有方法都是自己写的).
这个库的名字叫Suger,本来是想叫”糖”,无奈英语不好,把Sugar写成Suger.

库的地址在最下面

这个库集成了下面一些方法(只列举常用的):

Easy way to deal with permission(权限)
//继承PermissionActivity或PermissionCompatActivity
class MyActivity : PermissionActivity() {

}

Permission中有所有的危险权限组
下面用读写权限举例
你可以获取他:

Permission.STORAGE.get(this){
  //isPassed是回调,通过的话是true
            isPassed -> if(isPassed) showToast("ok") else showToast("no")
        }

你可以指定一段代码在获取某个权限后执行:

Permission.STORAGE.doAfterGet(this){
  //只有权限痛过才会执行,保证安全
            showToast("66666")
        }

你也可以单独检查是否获得某个权限:

Permission.STORAGE.has()
Easy way to open System Alubm and choose photo(照片)

继承AlbumPickerActivity

//获取权限
Permission.STORAGE.doAfterGet(this){
//选择照片
AlbumPicker.with(this).selectedPicAndHandle { path -> 
    print("this is the path of the photo you choose  $path")
        }
}
Easy way to deil with preference
      //存键值对,不只是基本类型,复杂对象也可以
        Preference.save("settings") {
            "key" - "value"
            "key1" - "value1"
            //...
        }
        //获取键值对的值
        Preference.get("settings","key" to "defaultValue")
双击返回退出App
override onBackPressed(){
   val delay: Long = 2000//双击间隔2000ms内才算
   val title = "再按一次退出" //第一次点击显示的字符串
   val action: () -> Unit = {print("在结束前可以做事")} 
    ActivityManager.doubleExit(delay,title,action)
}
//或者这样用
override onBackPressed(){
    ActivityManager.doubleExit{
      print("在结束前可以做事")
  }
}
不会连续弹出的toast
任何对象.toast()
showToast(任何对象)
跳回主线程
inUiThread{
  print("我在主线程")
}
状态栏
//只作用于5.0以上,实现沉浸
fun Activity.fullScreen() {...}
/**
 * 设置状态栏黑色字体图标
 */
fun Activity.setStatusBarTextBlack(): Boolean {...}

/**
 * 设置状态栏白色字体图标
 */
fun Activity.setStatusBarTextWhite(): Boolean {...}

上面是一些比较常用的功能,Suger还有很多其他工具,因为还是小白一枚,很多不好的地方希望大家能指正.

Suger的Github地址:https://github.com/littlejigege/suger

作者:小吉快跑呀