Android学习系列-把文件保存到SD卡上面(5)
一般多媒体文件,大文件需要保存到SD卡中。关键点如下:
1,SD卡保存目录:mnt/sdcard,一般采用Environment.getExternalStorageDirectory()方式。


public void saveToSDCard(String filename, String content)throws Exception {
File file = new File(Environment.getExternalStorageDirectory(), filename);//指定文件存储目录为SD卡,文件名
FileOutputStream outStream = new FileOutputStream(file);//输出文件流
outStream.write(content.getBytes());
outStream.close();
}
2,需要申请权限,AndroidManifest.xml中配置权限
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cn.itcast.files"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<uses-library android:name="android.test.runner" />

<activity android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

</application>
<uses-sdk android:minSdkVersion="8" />
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="cn.itcast.files" android:label="Tests for My App" />

<!-- 在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>


</manifest>
3.判断SD卡是否存在:Environment.getExternalStorageState().(getApplicationContext());

代码示例:
try {
//判断SDCard是否存在,并且可以读写
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
service.saveToSDCard(filename, content);
Toast.makeText(getApplicationContext(), R.string.success, 1).show();
}else{
Toast.makeText(getApplicationContext(), R.string.sdcarderror, 1).show();
}
} catch (Exception e) {
Toast.makeText(getApplicationContext(), R.string.fail, 1).show();
e.printStackTrace();
}
4.总结
关键点:指定SD卡存放文件目录,判断sd卡是否存在,配置SDK访问权限。
一般是将大文件存储到SD卡上。

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. 一年没在这机子上写android程序,竟然签名过期了。
  6. Android(安卓)使用ContentProvider 实现多个activity灵活显示,实
  7. Android(安卓)rom开发:app运行异常,报libc: Fatal signal 11 (SIGS
  8. MAC 配置android adb命令的环境变量
  9. Android常用代码集合

随机推荐

  1. 银联手机支付 手机客户端有几个?
  2. android 单击 切换图片 --- 注意图片大小
  3. 使用android 隐藏命令
  4. 深入解析RxJava源码(一)Observable对象的构
  5. 【Android自学笔记】为Android应用程序添
  6. Android RecyclerView网格布局的学习
  7. [置顶] Android 通过经纬度获取地理位置
  8. android设置一个图片为全屏大小
  9. 07文本处理工具和正则表达式
  10. Android 永久隐藏导航栏,系统栏的方法