Kotlin写的Android工具库

在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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,621评论 25 709
  • 创建项目 进入您打算存储代码的目录中,运行下列命令: 这样就创建了一个名为:tutorial 的项目,该项目文档结...
    SingleDiego阅读 5,660评论 0 1
  • 演讲时的视线 常常有人告诉我,上台说话时,不知道眼神往哪里转。于是,有的人看天花板,感觉那样有安全感,但没发...
    禾呈女青阅读 3,192评论 0 0
  • 转载:http://www.jianshu.com/p/1d8bbd0ad522 该转载仅作为个人学习记录。 下面...
    ALEXIRC阅读 3,165评论 0 1
  • 我一直认为自己对书香的痴迷是天生的。 小时候没机会读课外书,春节去县城串亲戚的时候一定要让老爸带我买本作文书带回家...
    大辉Bright阅读 3,712评论 2 9

友情链接更多精彩内容