android简单的数据存储

1.文件存储:不对存储的内容进行任何格式化的处理,所有数据都原封不动的保存到文件当中,比较适合存储一些简单的文本数据。


2.context类中提供了一个方法:openFileOutput()方法来存储数据到指定的文件中:


参数有两个:一个是文件名,另一个是文件的操作模式,共有四种,有两种由于不安全在4.2已经废弃
MODE_PRIVATE是默认的:文件名相同时会覆盖掉

MODE_APPEDN是文件存在时会在文件后追加。


3.public void save(String inputText){

FileOutputStream out = null;
BufferedWriter writer = null;
try{
out = openFileOutput("filename",Context.MODE_PRIVATE);
writer = new BufferedWriter(new OutputStreamWriter(out));
writer.write(inputText);
}catch(IOException){
e.printStackTrace();
异常处理
}finally{
try{
if(writer != null){
writer.close();//用完要关掉
}
}catch(IOException){
e.printStackTrace();
}
}


}
4.默认路径:/data/data/包名/files目录


从文件中读取数据:


    Context有:openFileInput()方法用于从文件中读取数据,只有一个参数就是文件名。然后从/data/data/包名/files目录路径下读取


public void loadFile(){


FileInputStream fis = null;
BufferedReader br = null;
StringBuilder sb = new StringBuilder();
try{
fis = openFileInput("data");
reader = new BufferedReader(new InputStreamReader(fis));
//读取一行行读
String line = "";
while((line=reader.readLine()) !=null){
sb.append(line);
}
}catch(IOException e){
e.printStackTrace();
}finally{
if(reader!=null){

try{
reader.close();
}catch{
e.printStackTrace();
}
}
}
return sb.toString();

}


SharedPreferences存储:通过键值对的方式存储,支持多种不同的数据类型存储,存的是什么,取出来就是什么。


1SharedPreferences对象的获取


    1.Context类中的getSharedPreferences()方法
参数:第一个是文件名称,第二个是操作模式目前只剩下一种MODE_PRIVATE;其余的分别在4.2与6.0中 被废弃MODE_PRIVATE与传入0的作用相同


    2.Activity类中的getPreferences()方法
它会将当前活动的名称作为文件名,有一个参数为操作模式


    3.PreferenceManager类中的getDefaultSharedPreferences()方法
它接收一个参数Context用当前的程序包作为文件名


2.调用SharedPreferences对象的edit()方法来获取SharedPreferences.Editor对象


3.向SharedPreferences.Editor中添加数据;;用put方法(putString(),putBoolean())


4.调用apply()将添加的数据提交(commit会存在一些问题)可以看http://www.360doc.com/content/17/0508/08/33279485_652009895.shtml


读取数据时:用SharedPreferences的各种get方法就好了get方法的两个参数:
第一个是键的值,第二个是没有找到对应值时的默认值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值