美文网首页Android开发经验谈禅与计算机程序设计艺术
Android开发框架(2)最便捷的 Preference本地储

Android开发框架(2)最便捷的 Preference本地储

作者: 陈言强 | 来源:发表于2020-06-07 11:38 被阅读0次

    EasyAndroid 是一个android完整的安装开发框架,已经应用于几个生产项目。

    github地址:https://github.com/chen397254698/EasyAndroid

    EasyAndroid

    一个完整基于kotlin的安卓开发框架,采用了mvvm设计模式。涵盖了:

    1、基于retrofit2封装的通过kotlin协程实现的网络框架

    2、基于阿里开源arouter修改的api-router实现项目模块化

    3、基于glide的图片加载缓存框架

    4、基于room实现的往来数据缓存加载

    5、基于step实现的数据异步提交

    6、基于PreferenceHolder实现的本地数据快速存储

    7、基于mlist实现的简单复杂列表的快速开发扩展等等。。

    本框架几乎涵盖了开发所需的所有模块组件。简单fork之后就可以基于框架快速开发。

    暂时先提交完整的框架代码,后续要完善本框架的用法。

    感谢作者 # MarcinMoskala/PreferenceHolder

    PreferenceHolder应该是SharePreference封装的最佳实践了。我只是在此基础上根据项目需求做了简单扩展

    新建 BasePreference 继承 PreferenceHolder 然后直接定义需要存储的字段,然后就可以直接使用了,可以直接存储对象,对象会通过Gson序列化,反序列化。

    object BasePreference : PreferenceHolder() {
    
        /**信息存储*/
        var INFO: String? by bindToPreferenceFieldNullable()
    
        /**下载记录id*/
        var _DOWNLOAD_ID: Long by bindToPreferenceField(0)
    
        /**下载包名*/
        var _DOWNLOAD_APK_NAME: String? by bindToPreferenceFieldNullable()
    
        /**状态栏高度*/
        var _STATUS_BAR_HEIGHT: Int by bindToPreferenceField(0)
    
        /**用户令牌*/
        var USER_TOKEN: String? by bindToPreferenceFieldNullable()
    
        /**用户id*/
        var USER_ID: String by bindToPreferenceField("")
    
        /**第一次打开*/
        var _FIRST_START: Boolean by bindToPreferenceField(true)
    
        /**邀请码 */
        var _INVITE_CODE: String by bindToPreferenceField("")
    }
    

    定义一个本地存储变量只需要一行代码,存储的变量默认会缓存。存取也是极其方便。一行代码搞定。

    1591500668(1).png

    清楚已经存储的内容只需调用clear方法,clear方法默认为安全删除,会保留以 _ 开头命名的变量。也可以强制删除所有。

    简书 无Activity,模块化从未如此简单

    相关文章

      网友评论

        本文标题:Android开发框架(2)最便捷的 Preference本地储

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