欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Android SharedPreferences存取操作以及封装详解

程序员文章站 2022-07-02 08:03:21
存首先初始化private sp sp;sp = new sp( context );存入数据第一个参数为上下文,第二个参数为key,第三个参数为要存入的数据valuesp.putdata( cont...

首先初始化

private sp sp;
sp = new sp( context );

存入数据
第一个参数为上下文,第二个参数为key,第三个参数为要存入的数据value

sp.putdata( context,"accesstoken",accesstoken );

初始化

private sp sp;
sp = new sp( context );

取出数据
第一个参数为上下文,第二个参数为存入数据时定义的名称,第三个数据为取出数据的默认类型(这个参数很关键,再封装类转换类型时尤为重要)

accesstoken = (string) sp.getdata( context,"accesstoken","" );

封装类

public class sp {
    private static sp spinstant;
    private string defaultmodelname;
    public sp(){

    }
    public sp (context context){
        if (spinstant == null){
            spinstant = new sp(  );
            spinstant.defaultmodelname = context.getresources().getstring( r.string.defaultmodelname );
        }
    }
    public void putdata(context context,string key,object value){
        putdata( context,defaultmodelname,key,value );
    }
    private void putdata(context context,string defaultmodelname ,string key,object value){
        sharedpreferences preferences = context.getsharedpreferences( defaultmodelname,context.mode_private );
        sharedpreferences.editor editor = preferences.edit();
        if (value instanceof boolean){
            editor.putboolean( key,(boolean) value );
        }else if (value instanceof integer){
            editor.putint( key,(integer)value );
        }else if (value instanceof float){
            editor.putfloat( key,(float)value );
        }else if (value instanceof long){
            editor.putlong( key,(long)value );
        }else if (value instanceof string){
            editor.putstring( key,(string)value );
        }else{
            return;
        }
        editor.apply();
    }
    public object getdata(context context,string key,object defaultvalue){
        return getdata( context,defaultmodelname,key,defaultvalue);
    }
    private object getdata(context context,string defaultmodelname,string key,object defaultvalue){
        sharedpreferences preferences = context.getsharedpreferences( defaultmodelname,context.mode_private );
        if (defaultvalue instanceof boolean){
            return preferences.getboolean( key,(boolean) defaultvalue );
        }else if (defaultvalue instanceof integer){
            return preferences.getint( key,(integer) defaultvalue );
        }else if (defaultvalue instanceof float){
            return preferences.getfloat( key,(float) defaultvalue );
        }else if (defaultvalue instanceof long){
            return preferences.getlong( key,(long) defaultvalue );
        }else if (defaultvalue instanceof string){
            return preferences.getstring( key,(string) defaultvalue );
        }else{
            return null;
        }
    }

}

到此这篇关于android sharedpreferences存取操作以及封装详解的文章就介绍到这了,更多相关android sharedpreferences内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!