欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

安卓开发:sd卡操作

程序员文章站 2022-03-11 11:31:52
1.向sdcard中写入数据: 发现向/mnt/sdcard路径写数据会报错,原因:没有开启相应权限 解决:配置文件中加入 或者: 另外:不建议硬编码写成:/mnt/sdcard,应该这样写: 在保存数据到sdcard之前,还应该判断下是否存在sdcard: 2.获取sdcard总大小和可用空间: ......

1.向sdcard中写入数据:

发现向/mnt/sdcard路径写数据会报错,原因:没有开启相应权限

解决:配置文件中加入

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

或者:

安卓开发:sd卡操作

 

 

另外:不建议硬编码写成:/mnt/sdcard,应该这样写:

            String sdPath = Environment.getExternalStorageDirectory().getPath();

 

在保存数据到sdcard之前,还应该判断下是否存在sdcard:

                if (Environment.MEDIA_MOUNTED.equals(Environment
                        .getExternalStorageState())) {
                    String sdPath = Environment.getExternalStorageDirectory()
                            .getPath();
                    // ......
                } else {
                    Toast.makeText(getApplicationContext(), "sd卡不可用",
                            Toast.LENGTH_LONG).show();
                }

 

 

2.获取sdcard总大小和可用空间:

        File file = Environment.getExternalStorageDirectory();
        //总大小
        long totalSpace = file.getTotalSpace();
        //可用大小
        long usableSpace = file.getUsableSpace();
        //注意返回格式是字节,转换
        String formatTotalSpace = Formatter.formatFileSize(MainActivity.this, totalSpace);
        String formatUsableSpace = Formatter.formatFileSize(MainActivity.this, usableSpace);