安卓开发:sd卡操作

Posted xuyiqing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓开发:sd卡操作相关的知识,希望对你有一定的参考价值。

1.向sdcard中写入数据:

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

解决:配置文件中加入

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

或者:

技术分享图片

 

 

另外:不建议硬编码写成:/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);

 

以上是关于安卓开发:sd卡操作的主要内容,如果未能解决你的问题,请参考以下文章

安卓7.0版本怎么用SD卡

SD卡操作安卓8

(重新)在安卓模拟器上安装 SD 卡

安卓手机如何更换SD卡

安卓手机sd卡的路径在哪

安卓怎么把软件移动sd卡