一、Android数据存储方式
内部存储:一般来说,内部存储即data文件夹下的存储,包括:
- SharedPrefrence存储
- 手机内部文件存储
- Sqlite数据库存储
外部存储:外部存储一般就是我们上面的storage文件夹/mnt文件夹
- 手机外部文件存储
远程服务器存储
二、SharedPrefrence存储
- SP存储专门用来存储一些单一的小数据,例如一些基本数据类型数据
- 存储数据类型:boolean,float,int,long,String
数据保存的路径:/data/data/包名/shared_prefs/xxx.xml
xml文件内容示例:
可以设置数据只能是当前应用读取,别的应用不可以读取
- 应用卸载 时会删除保存数据的xml文件
一、相关API
获取SharedPrefrence实例
SharedPreferences本身是一个接口,程序无法直接创建SharedPreferences实例,只能通过Context提供的getSharedPreferences(String name, int mode)方法来获取SharedPreferences实例,该方法中name表示要操作的xml文件名,第二个参数如下:
Context.MODE_PRIVATE: 指定该SharedPreferences数据只能被本应用程序读、写。 Context.MODE_WORLD_READABLE: 指定该SharedPreferences数据能被其他应用程序读,但不能写。 Context.MODE_WORLD_WRITEABLE: 指定该SharedPreferences数据能被其他应用程序读,写
从SP文件中得到相关数据:
SharedPreferences .getXxx(String key, Xxx defaultname);
更新SP文件内容的接口:Editor
获取SharedPreferences的Editor对象: SharedPreferences editor(); SharedPreferences.Editor clear():清空SharedPreferences里所有数据 SharedPreferences.Editor putXxx(String key , xxx value): 向SP存入指定key对应的数据,其中xxx 可以是boolean,float,int等各种基本类型据 SharedPreferences.Editor remove(): 删除SharedPreferences中指定key对应的数据项 //上述方法可以进行方法链调用(返回的是Editor对象本身) boolean commit(): 当Editor编辑完成