资源描述:
《Android进阶——Sharedpreferences保存对象和图片等复杂类型的数据》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Android进阶——Sharedpreferences保存对象和图片等复杂类型的数据一、保存和读取基本数据类型1、保存基本类型的数据/***根据传入的prefereces的文件名设置指定key-valeu*@paramcontext*@parampreferenceNameSharedPreferences的name*@paramkey对应的Key键*@paramobject对应的各种类型的值*/publicstaticvoidsaveKeyValue(Contextcontext,StringpreferenceName,Stringkey,Objectobject){SharedPr
2、eferencessharedPreferences=context.getSharedPreferences(preferenceName,context.MODE_PRIVATE);SharedPreferences.Editoreditor=sharedPreferences.edit();if(objectinstanceofString){editor.putString(key,(String)object);}elseif(objectinstanceofInteger){editor.putInt(key,(Integer)object);}elseif(objectins
3、tanceofBoolean){editor.putBoolean(key,(Boolean)object);}elseif(objectinstanceofFloat){editor.putFloat(key,(Float)object);}elseif(objectinstanceofLong){editor.putLong(key,(Long)object);}else{editor.putString(key,object.toString());}editor.commit();}2、读取基本类型的数据/***根据传入的prefereces的文件名设置指定key-valeu*@p
4、aramcontext*@parampreferenceNameSharedPreferences的name*@paramkey对应的Key键*@paramobject对应的各种类型的值*/publicstaticObjectgetValueByKey(Contextcontext,StringpreferenceName,Stringkey,Objectobject){SharedPreferencessharedPreferences=context.getSharedPreferences(preferenceName,context.MODE_PRIVATE);if(objecti
5、nstanceofString){returnsharedPreferences.getString(key,(String)object);}elseif(objectinstanceofInteger){returnsharedPreferences.getInt(key,(Integer)object);}elseif(objectinstanceofBoolean){returnsharedPreferences.getBoolean(key,(Boolean)object);}elseif(objectinstanceofFloat){returnsharedPreference
6、s.getFloat(key,(Float)object);}elseif(objectinstanceofLong){returnsharedPreferences.getLong(key,(Long)object);}else{returnsharedPreferences.getString(key,object.toString());}}二、保存和读取图片SharedPreferences原则上只能将字符串以key-value的形式保存,但是万物皆二进制,所以我们可以采用编码的方式将任何二进制数据转化为字符串,从而将可以将二进制数据保存在SharedPreferences文件中,
7、而最常用的编码格式是Base64.1、保存二进制数据/***@paramcontext*@parampreferenceName*@paramresId*@paramkey*/publicstaticvoidsaveDrawable(Contextcontext,StringpreferenceName,intresId,Stringkey){SharedPreferencessharedPreferences=cont