欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android编程实现向SD卡写入数据的方法

程序员文章站 2024-02-29 21:03:52
本文实例讲述了android编程实现向sd卡写入数据的方法。分享给大家供大家参考,具体如下: 1.代码: /** * 向sdcard中写入文件 * @par...

本文实例讲述了android编程实现向sd卡写入数据的方法。分享给大家供大家参考,具体如下:

1.代码:

/**
* 向sdcard中写入文件
* @param filename 文件名
* @param content 文件内容
*/
public void savetosdcard(string filename,string content) throws exception{
  file file=new file("/mnt/sdcard", filename);
  outputstream out=new fileoutputstream(file);
  out.write(content.getbytes());
  out.close();
}

sdcard对应的文件路径:"/mnt/sdcard",开发时不要写sdcard的绝对路径,因为路径会因为版本的改变而改变,这里应该使用以下方法获得sdcard的路径
对应上一段代码修改如下代码如下:

/**
* 向sdcard中写入文件
* @param filename 文件名
* @param content 文件内容
*/
public void savetosdcard(string filename,string content) throws exception{
  file file=new file(environment.getexternalstoragedirectory(), filename);
  outputstream out=new fileoutputstream(file);
  out.write(content.getbytes());
  out.close();
}

2.获得权限:

<!-- 在sdcard中创建于删除文件的权限 -->
<uses-permission android:name="android.permission.mount_unmount_filesystems"/>
<!-- 往sdcard中写入数据的权限 -->
<uses-permission android:name="android.permission.write_external_storage"/>

3.判断sdcard状态(sdcard可能为写保护,或者没有插入sdcard)

//向sdcard中保存
string en=environment.getexternalstoragestate();
//获取sdcard状态,如果sdcard插入了手机且为非写保护状态
if(en.equals(environment.media_mounted)){
 try {
  service.savetosdcard(filename, content);
  toast.maketext(getapplicationcontext(), "保存成功", 1).show();
 } catch (exception e) {
  toast.maketext(getapplicationcontext(), "保存失败", 1).show();
 }
}else{
 //提示用户sdcard不存在或者为写保护状态
 toast.maketext(getapplicationcontext(), "sdcard不存在或者为写保护状态", 1).show();
}

更多关于android相关内容感兴趣的读者可查看本站专题:《android编程开发之sd卡操作方法汇总》、《android开发入门与进阶教程》、《android资源操作技巧汇总》、《android视图view技巧总结》及《android控件用法总结

希望本文所述对大家android程序设计有所帮助。