Kotlin写的Android工具库

作者: 小吉快跑呀 | 来源:发表于2018-03-30 22:28 被阅读499次

    在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

    相关文章

      网友评论

        本文标题:Kotlin写的Android工具库

        本文链接:https://www.haomeiwen.com/subject/kolwcftx.html