Pandora 的魔盒里装了什么?

作者: 程序亦非猿 | 来源:发表于2019-03-27 22:28 被阅读94次
    imageimage

    在古希腊的神话中 Pandora 是世界上第一个女人,一个 all-gifted 的女人(具有一切天赋的女人),而潘多拉的魔盒里装着希望。

    借着 all-gifted 的寓意,我创建了一个开源库 Pandora,一个非常常用的工具类的集合。

    虽然算是 Utils 的集合,但是跟其他的库并不同,这里的类&方法的数量非常少,我只选了极少数我觉得真的非常有用且有大概率复用的类,在保证避免编写大量样板代码的基础之上,减少引入不必要类的可能,防止包体积增大。。

    所以也可以算是一个『Utils 心选』。

    那么就介绍一下 Pandora 的能力啦。

    <a name="ApplicationUtils"></a>

    ApplicationUtils

    一个可以设置、获取全局 Application 的工具类,Context 在 Android 中非常常用,但是其实很多时候我们不需要传递 Activity 类型的 Context , 使用 ApplicationUtils 可以缓解我们到处传递 Context 的困境。(默认会从 ActivityThread 获取 Application)

    applicationutils.pngapplicationutils.png

    <br />

    <a name="MainThread"></a>

    MainThread

    一个关于主线程的工具类,可以方便地将 Runnable post 到主线程执行

    mainthread.pngmainthread.png

    <br />

    <a name="ToastUtils"></a>

    ToastUtils

    一个全局单例 Toast ,解决多次实例化 Toast 导致不停弹 Toast 的问题

    toastutils.pngtoastutils.png

    <br />

    <a name="LifecycleHandler"></a>

    LifecycleHandler

    在使用 Handler 的时候我们总是担心 Handler 会导致内存泄露,于是我们每次都会在 onDestroy 方法里移除 Handler 的消息,编写样板代码,LifecycleHandler 的出现就是为了解决这个困境,使用它,你不再需要关注 onDestroy 啦!

    lifecyclehandler.pnglifecyclehandler.png

    <a name="UiUtils"></a>

    UiUtils

    Android 开发不可避免的要跟像素 dp 等打交道,UiUtils 包含一些数据单位转换的操作。

    uiutils.pnguiutils.png

    <a name="Predictions"></a>

    Predictions

    一个用来做”断言”的功能的工具类,用来验证判断参数是否合法。<br />虽然我们有 NonNull 等注解 ,但是依然避免不了外部传递非法参数,这个时候我们避免不了写样板代码,检测参数是否非法,如果是则抛出异常,Predictions 可以让你少写一些检查抛、异常的样板代码

    predictions.pngpredictions.png

    一句依赖即可拥有以上所有能力哟:

    implementation 'me.yifeiyuan.pandora:pandora-basic:1.0.3'
    

    github 地址:https://github.com/AlanCheen/Pandora

    欢迎 star !~

    相关文章

      网友评论

        本文标题:Pandora 的魔盒里装了什么?

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