简单易用sharepref存储工具

简单sharepref存储工具,支持多sharepref表使用,支持参数化配置

源码

https://github.com/yinlingchaoliu/sharepref.git

演示


源码中有完整使用示例

功能

  • 支持参数可配置化
  • 支持多种数据类型任意实体类, list, map
  • 支持原有sp数据存储 getObj putObj
  • 支持数据迁移
  • 可扩展性强,后续可支持加密
  • 支持数据异步提交用apply并且兼容
  • 支持多sharepref文件
  • 支持项目可拆分多部分 动态配置, 基本库(sp+注解)

引入

1.引仓库

maven { url 'https://jitpack.io' }

2.加依赖

implementation 'com.github.yinlingchaoliu:sharepref:1.0.0'

用法

1、增加注解配置

/**
 * 初始化spname
 * 一个spname 映射 一个table
 */
@SPNAME("sharepref_table") //sharepref文件名
public interface ISharedPref {

    @KEY("username") //存储的key值
    @DEFAULT("")    //默认值
    Call<String> username(); //支持数据类型 String

    @KEY("isOk")
    @DEFAULT("false")
    Call<Boolean> isOk();//支持数据类型 boolean

    @KEY("age")
    @DEFAULT("0")
    Call<Integer> age();//支持数据类型 Integer

    @KEY("waitTime")
    @DEFAULT("0")
    Call<Long> waitTime();//支持数据类型 Long

}

2、继承SharePrefFacade,如下实现即可

public class SharePrefManager extends SharePrefFacade {

    private ISharedPref mISharedPrefDelegate;

    @Override
    public void create() {
        mISharedPrefDelegate = create(ISharedPref.class);
    }

    public static ISharedPref ISharedPref() {
        return getIns().mISharedPrefDelegate;
    }
    
    private SharePrefManager() {
    }

    private static class SingleHolder {
        private static final SharePrefManager sharePrefManager = new SharePrefManager();
    }

    public static SharePrefManager getIns() {
        return SingleHolder.sharePrefManager;
    }

} 

3、application初始化

SharePrefManager.getIns().init(this);

4、使用

  1. 存储
SharePrefManager.ISharedPref().username().put(name);
  1. 取值
String name = SharePrefManager.ISharedPref().username().get();

感谢

参考:
https://github.com/orhanobut/hawk

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

相关阅读更多精彩内容

  • -- 来源于网络 -- 更详细的介结参考联机帮助文档 xp_cmdshell--*执行DOS各种命令,结果以文本行...
    overad阅读 2,557评论 0 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,537评论 19 139
  • 显示base64图 Data URI scheme支持的类型 参考 html img Src base64 图片显示
    Relax123阅读 844评论 0 50
  • 姓名:黄礼龙 公司:余姚大发化纤有限公司 2017.6.16-18上海盛和塾264期 《六项精进》学员 组号:乐观...
    黄礼龙阅读 100评论 0 0
  • 墙角的旮旯里 躺着一颗小小的麦粒 也许从哪只丰收的箩筐 不经意间逃脱而出 像离群的孤雁 默默无闻悄无声息 透过朴实...
    风雅田园阅读 970评论 10 20

友情链接更多精彩内容