sd卡用于保存大文件如视频,音频,大文档等

package cn.itcast.files;

import cn.itcast.service.FileService;

import android.app.Activity;

import android.os.Bundle;

import android.os.Environment;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

public class MainActivity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Button button = (Button) this.findViewById(R.id.button);

button.setOnClickListener(new ButtonClickListener());

}

private final class ButtonClickListener implements View.OnClickListener{

/*

* 内部类如果不需要被继承要使用final修饰

*

* */

public void onClick(View v) {

EditText filenameText = (EditText) findViewById(R.id.filename);

EditText contentText = (EditText) findViewById(R.id.filecontent);

String filename = filenameText.getText().toString();

String content = contentText.getText().toString();

FileService service = new FileService(getApplicationContext());

try {

/*

*

* 判断SDCard是否存在,是否可以读写

* 因为部分手机没有SD卡,或者sd卡有写入保护

*

* 使用Environment类的getExternalStorageState()方法获取sd卡的状态

* Environment.MEDIA_MOUNTED该常量代表sd卡存在并且可以读写

*

* */

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();

}

}

}

}

public class FileService {

/*

* 文件保存属于业务层,根据MVC模式的思想

* 这里写了一个专门的FileSarvie类处理文件保存的操作

* */

private Context context;

public FileService(Context context) {

this.context = context;

}

public void saveToSDCard(String filename, String content)throws Exception {

/*

* 保存文件到sd卡,sd卡用于保存大文件(视频,音乐,文档等)

* 获取sd卡路径Environment.getExternalStorageDirectory()

* android版本不同,sd卡的路径也不相同,所以这里不能写绝对路径

* */

File file = new File(Environment.getExternalStorageDirectory(), filename);

FileOutputStream outStream = new FileOutputStream(file);

/**

*

* 注意:这里创建文件输出流对象 就 不能使用context.openFileOutput(filename, Context.MODE_PRIVATE);这中方式创建了这种方式会直接在手机自带的内存中创建文件,

在sd卡下创建文件要使用new FileOutputStream(file);

*/

outStream.write(content.getBytes());

outStream.close();

}

}

android存储到sd卡中,android保存文件到SD卡【文件存储】相关推荐

  1. android把音乐存到sd卡上,如何将音乐文件从原始文件夹保存到SD卡中android

    嗨,我需要将音乐文件保存到SD卡我试过使用下面的代码只有文件夹在SD卡中创建的文件夹没有音乐文件保存任何一个建议我在哪里我做了错误...如何将音乐文件从原始文件夹保存到SD卡中android Fill ...

  2. sd卡中病毒的表现及sd文件消失后的恢复方法

    sd卡在日常使用中十分常见,但有时也会发生一些意外情况.例如,不小心意外感染病毒,导致sd卡中存储的文件消失.那么对于丢失的文件,我们该如何恢复呢?下面将带您了解sd卡中病毒的表现以及sd卡文件消失怎 ...

  3. 怎么保证SD卡中的数据与物理SD卡绑定 防止SD卡中数据被复制到电脑上

    转载请标明是引用于 http://blog.csdn.net/chenyujing1234 欢迎大家拍砖 一.应用背景 SD卡中存有我们的导入数据文件data.bat,SD卡要插入到WinCE系统,为 ...

  4. android将拍摄的图片存入sd卡中,Android将图片保存至SD卡上

    首先判断SD卡是否插入--> public String getSDPath(){ File SDdir=null; boolean sdCardExist= Environment.getEx ...

  5. android 数据库表格数据库数据库中,Android SQLite数据库中的表详解

    Android SQLite数据库 前言 以前写PHP的时候,内置了print_r()和var_dump()两个函数用于打印输出任意类型的数据内部结构,现在做Android的开发,发现并没有这种类似的 ...

  6. 在mysql中如何保存表格_图数据库如何存储电子表格?

    有辛使用图数据库做过一次,复杂的关系系统,就我个人目前的了解用图数据库做电子表格还是不太适用的,也许mongodb更为合适. mongodb中可以使用document为做电子表格,互相之前的关系也可以 ...

  7. 【小技巧】使用MATLAB读取quartusii中signaltapII保存的tbl格式数据文件

    有的时候,我们需要将FPGA采集到的数据进行显示,通过MATLAB分析,那么需要读取FPGA的片上数据.我们以quartusii为例子,其片上数据采集到的文件格式为tbl文件,这个时候,我们编写如下程 ...

  8. android系统性能优化---(9)Android 绿色应用公约

    Android 绿色应用公约(草案) 宗旨 这是一项旨在推动Android生态中的优秀应用共同维护一个更加良性的『设备体验』而发起的开放公约. 设备体验:影响效应超出用户与应用进行显性交互的过程之外, ...

  9. android art 远程控制,也来看看Android的ART运行时

    之前因为需要,研究了一下ART的相关源码,也做了一些记录与总结,现在重新整理了一下与大家共同讨论和交流一下. 0x00 概述 ART是Android平台上的新一代运行时,用来代替dalvik.它主要采 ...

最新文章

  1. 串口同步异步c语言程序,同步串口spi的c语言编程
  2. QQ协议分析及其还原(二)
  3. 【python数字信号处理】——scipy库设计滤波器(IIR为例)、绘制滤波器频谱响应、IIR滤波器滤波、读写wav音频文件
  4. 电脑经常死机是什么原因
  5. C语言中的空字符'\0'
  6. L2-014 列车调度(二分)
  7. 【负载观测】永磁同步电机的负载观测及前馈补偿
  8. c++多线程在异常环境下的等待
  9. mysql passwor authen_Navicat连接虚拟机的MySQL时 提示“Password authentication failed”
  10. 初二生态系统思维导图_初中生物生态系统知识点思维导图
  11. 内网通积分|免广告工具
  12. 关于内存条的知识要点⑴
  13. 移动应用的必杀技:超级app+轻应用
  14. 20190608 JavaBean转jsonString时首字母大写的问题
  15. 在Unity中实现基于粒子的水模拟(三:混合屏幕)
  16. pytorch, tensorflow, keras统计模型参数大小
  17. Lpms-B2 IMU数据采源码分析 及 TCP/IP握手简单分析
  18. java版我的世界光追,光追有多神奇?我的世界VS别人的世界
  19. 什么是XML?如何学习XML?
  20. c/c++中的转义字符

热门文章

  1. 日积月累系列之国籍控件(js源码)
  2. 菜鸟教程离线版下载链接 chm
  3. 一招搞定GitHub下载加速
  4. 个人简历模板下载 2020个人简历模板 下载空白简历个人简历
  5. 给想做亚马逊测评的你一些忠告!千万不要被骗了!
  6. android 动态改变图标颜色
  7. Codeforces——C. Anu Has a Function
  8. java支付宝电脑网页支付
  9. mac解压错误22无效的参数_Mac文件解压缩工具 WinZip Mac Pro 8.0.5151
  10. 记一下MatlabR2020a激活失败license checkout failed Error-8的解决办法