Android中常用的存储方式

Android中常用的存储方式

1.文件存储

文件存储分为两种,一种是内部存储,第二种是外部存储。二者在实际操作上并没有什么区别,只是在文件的存储路径上不同,和权限上的一些区别而已。

第一种:内部存储
        一般使用以下三个API:
        String path = Activity.getFilesDir(),来获得文件对象,它所指向的目录为data/data/项目包名称/files/
        String path = Activity.getCacheDir(),它指向的目录为data/data/项目包名/cache/
        OutputStream out = Activity.openFileOutput(String name,mode);直接获得文件的输出流,参数name表示文件存储的名称,mode表示文件是否可读,是否可写等。
第二种:外部存储
        外部存储也就是SD卡存储,这种存储方式有一个重要的class,Environment,通过他可以获得SD卡的各种参数以及状态信息。
        String state = Environment.getExternalStorageState();获得SD卡状态,是否加载。
        File file = Environment.getExternalStorageDirectory();获得扩展SD卡的位置信息。在创建新的文件时,可以将该file作为父路径,例如:new File(file,filename),就可以在SD卡中创建相应的文件。
        此外,还可以通过file获取SD卡中的其他信息:
        long size = file.getFreeSpace();
        long size = file.getUsableSpace();获得空闲空间大小
        long seze = file.getTotalSpace();获得总存储空间大小

2.SharedPerference

对于移动终端来说,每个软件都有一些xml的配置文件,这些文件存储的数据不大,如果存储在数据库,太耗资源。而每个程序员自己创建xml,处理特殊字符的时候很繁琐,Google封装了SharedPerference接口,让我们可以很方便的创建xml文件。
需要注意的是,这种文件保存的方式只能对简单的数据格式进行一种key-value格式在xml文件中保存,能保存的数据大小有效。

使用SharedPerference的一般步骤:
1.SharedPerference sp = activity.getSharedPerferences(String filename,int mode);直接通过activity获取接口实例,参数filename表示文件的名称,会默认加上.xml后缀,mode表示是否可读写,mode为0的时候表示private。
2.Editor editor = sp.edit()获得一个可编辑的对象。
3.editor.putXxx(key,value)将需要保存的key-value保存。其中Xxx表示要保存的类型,例如:putInt("num",2);
4.editor.commit().提交对文件的操作。
从文件中取出数据的API为:
Xxx xx = sp.getXxx(key,default);Xxx表示相应的数据类型,default表示如果在文件中没有找到相应的值,则返回default。

猜你喜欢

转载自blog.csdn.net/qq_25333681/article/details/50908523