广告
返回顶部
首页 > 资讯 > 移动开发 >Android SD卡
  • 868
分享到

Android SD卡

sdsd卡Android 2022-06-06 13:06:45 868人浏览 泡泡鱼
摘要

一、判断SD卡使用情况 if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)

一、判断SD卡使用情况

if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
{
    Toast.makeText(MainActivity.this,"SD卡准备就绪!",Toast.LENGTH_SHORT).show();
}
else
{
    Toast.makeText(MainActivity.this,"SD卡不存在或者未挂载!",Toast.LENGTH_SHORT).show();
}
二、获取SD卡的储存情况

File ext=Environment.getExternalStorageDirectory();
long usableSpace=ext.getUsableSpace();
long totalSpace=ext.getTotalSpace();
String usableSize= FORMatter.formatFileSize(MainActivity.this,usableSpace);
String totalSize=Formatter.formatFileSize(MainActivity.this,totalSpace);
Toast.makeText(MainActivity.this,"usableSize:"+usableSize+"--"+totalSize,Toast.LENGTH_SHORT).show();
三、权限问题

//在AndroidManifest中添加SD卡读写的权限
//从Android6.0开始需要动态授权
Manifest.permission.READ_EXTERNAL_STORAGE
Manifest.permission.WRITE_EXTERNAL_STORAGE
四、权限申请

//动态申请权限方法
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = {
        "android.permission.READ_EXTERNAL_STORAGE",
        "android.permission.WRITE_EXTERNAL_STORAGE" };
public static void verifyStoragePermissions(Activity activity) {
    try {
        //检测是否有写的权限
        int permission = ActivityCompat.checkSelfPermission(activity,
                "android.permission.WRITE_EXTERNAL_STORAGE");
        if (permission != PackageManager.PERMISSION_GRANTED) {
            // 没有写的权限,去申请写的权限,会弹出对话框
            ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE,REQUEST_EXTERNAL_STORAGE);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}
五、写入数据 

File f2=new File(ext,"test.data");
try {
    verifyStoragePermissions(MainActivity.this);
    OutputStream out=new FileOutputStream(f2);
    out.write("test".getBytes());
    out.close();
} catch (Exception e) {
    e.printStackTrace();
}
 六、读取数据

try {
    InputStream in=new FileInputStream(f2);
    byte[] buffer=new byte[64];
    int len=in.read(buffer);
    String str=new String(buffer,0,len);
} catch (Exception e) {
    e.printStackTrace();
}

作者:大亮


--结束END--

本文标题: Android SD卡

本文链接: https://www.lsjlt.com/news/29518.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作