android 设备存储分为 内存和 sd卡两种方式
内存存储方式有多种主要有
1:shareperfererences .使用这种方式是将文件储存到 data/data/packeg/files 下
sharedperferences:
将其封装为工具类:
public class Sptools {
public static void savesetsp(Context context,String key,String value){
SharedPreferences sharedPreferences=context.getSharedPreferences("set",Context.MODE_PRIVATE);
sharedPreferences.edit().putString(key, value).commit();
}
public static String getsetsp(Context context,String key){
SharedPreferences sharedPreferences=context.getSharedPreferences("set",Context.MODE_PRIVATE);
return sharedPreferences.getString(key,null);
}
}
该键值对只能保存一组。2是调用context 提供的 openFileOutput 和 openFileInput方法。这种方式同样是将文件存储在程序的包文件下。
注意存储到程序包文件下的文件 没有ROOT是不能查看到的
SD卡分为内置SD卡和外置SD卡
读写SD卡是需要添加权限的:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
在SD卡上添加或者删除文件同样需要权限:<uses-permission android:name="ANDROID.PERMISSION.MOUNT_UNMOUNT_FILESYSTEMS">
3 io流方式存储 。方法和java 相同 但是要注意的是存储的路径问题!!!
通过此方法判断SD卡是否可用
Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
//通过Evreoment的 getExternalStorageDirectory()方法获取外部存储器。 这个的返回值可以通过TOstring()查看一下 是SD卡的目录
String path=Environment.getExternalStorageDirectory()+"/data/" //新建一个文件目录
File file=new File(path);
if(!file.exists()){
file.mkdirs(); //如果没有就创建
}
String path2=path+"test.txt;" //创建一个文本文件
File file=new File(Path2);
接下来进行正常的IO操作
注意 创建文件要一层一层的 不可以一下创建两层 否则会出现 (is a directroy) 错误
本文详细介绍了Android设备上的几种主要存储方式,包括使用SharedPreferences存储轻量级数据、利用上下文提供的方法进行文件存储以及通过IO流操作实现SD卡存储。文中还提供了判断SD卡是否可用的方法及注意事项。
617

被折叠的 条评论
为什么被折叠?



