Android中的文件存储包括多种方式,下面介绍除了使用SQLite数据库存储的方式方法,数据库存储另做详述:
一:SharedPreferences存储,是一种内部存储,一般用于存储配置信息,如checkbox是否勾选来确认用户的状态
1.通过上下文context.getSharedPreferences的方法得到SharedPreferences对象sp,方法传2两个参数,第一个参数是保存到的内部存储位置的文件名,第二个参数是模式,一般用Context.PRIVATE私有访问即可
2.要保存数据,就要写入数据。实例化编辑器对象:SharedPreferences.Editor e=sp.edit()。
3.开始写入数据,数据的存储是以键值对的方式存储的。一般定义一个全局常量,然后写入数据,如写入状态数据Boolean类型的值e.putBoolean(KEY,ischecked);
4.重要的一步,必须提交才能保存数据:e.commit();
5.取得数据看自己需要什么数据用什么方法sp.getBoolean(KEY,false).这里取得KEY的值,没有默认返回false。
二:内部存储的第二种方式,用于保存文本信息,包括读入和写出:
1.写入文件:OutputStream os=openFileOutput(“data”,Context.PRIVATE);
Os.write(string.getBytes(“utf-8”));
Os.flush();
Os.close();
2.读出文件,本地文件的读取很简单:InputStream is=openFileInput(“data”);
Byte[] bytes=new byte[(is.available)];//这种方式读取本地的小文件,大文件不行,而且不能读取网络文件
Is.read(bytes);
Is.close();
String str=new String(bytes,”utf-8”);
System.out.println(str);
三:数据的外部存储,将数据存储到SD卡上
写出:
1.得到外部文件的目录:File dir=Environment.getEnternalStorageDirectory();
2.创建要存储数据的文件:File file=new File(dir,”data.txt”);
3.开始写文件:FileOutputStream fos=new FileOutputSream(dataFile);
4.fos.write(new String(“Hello World”).getBytes(“utf-8”));
5.fos.flush();
6.fos.close();
注意,写入外部的存储设备要加上外部访问权限!
Android文件存储(一)
最新推荐文章于 2024-05-14 03:07:22 发布