首页 > 代码库 > Android开发系列(七):把文件存放在SDCard中
Android开发系列(七):把文件存放在SDCard中
一般我们的手机应用默认的存储空间是手机自带的内存中,但是对于比较大的文件比如视频、音频来说,我们可以把它存放在SDCard中:
接下来通过代码实现具体的把文件存放在SDCard中(仅实现了核心代码)
首先,因为要存放在SDCard中,我们需要提供SDCard权限:
在AndroidManifest.xml中添加权限:
<!-- 在SDCard创建与删除文件权限 --> <uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS" /> <!-- 往SDCard写入数据权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
public void saveToSDCard(String filename,String content) throws Exception{ //Environment.getExternalStorageDirectory()函数是为了取得SDCard的路径 File file = new File(Environment.getExternalStorageDirectory() ,filename); //打开输出流 FileOutputStream outStream = new FileOutputStream(file); //写入内容 outStream.write(content.getBytes()); outStream.close(); }重点是:Environment.getExternalStorageDirectory()函数
最后,我们直接在点击“保存”按钮之后,调用按钮的onClick()方法,在这个方法中添加:
//new一个FileService对象,getApplicationContext()返回应用的上下文,生命周期是整个应用,应用摧毁它才摧毁 FileService service = new FileService(getApplicationContext()); try { //判断SDCard是否存在,并且可以读写, //Environment.getExternalStorageState()获得当前状态: //Environment.MEDIA_MOUNTED表示的是SDCard的状态:存在SDCard if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ service.saveToSDCard(filename, content); //调用save()方法保存文件 Toast.makeText(getApplicationContext(), R.string.success, 1).show(); //调用一个Toast呈现一个“保存完成”的消息 }else{ Toast.makeText(getApplicationContext(), R.string.sdcarderror, 1).show(); //调用一个Toast呈现一个“SDCard不存在或者写保护”的消息 } } catch (Exception e) { Toast.makeText(getApplicationContext(), R.string.fail, 1).show(); //调用Toast对象呈现一个“保存失败”的消息 e.printStackTrace(); }
Android开发系列(七):把文件存放在SDCard中
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。