2.在代码全部正确的时候,却无法将文件存入SD卡的特囧事件

妈蛋啊,真的是很恶心啊!!!实习生写了个练手的程序,但是怎么也不能保存文件,我为了这个问题纠结了快10多天啊!!!!!!!!!!!!!!!!!!!!!!!

我必须要写出来吐槽一下!!!!!

SD卡是什么东西,你肯定知道的,对不对,我就不解释了~~~~

写了一个程序,很简单,就是创建一个文件,将一些内容存储到SK卡之中。

首先要申请权限

    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

       在存入手机之中和存入SD卡之中的写入方法是有区别的

    存入手机之中

	public   void save(String filename, String content) throws Exception {
		FileOutputStream outStream = context.openFileOutput(filename, context.MODE_PRIVATE);
		outStream.write(content.getBytes());
		outStream.close();
	}




  存入SD卡之中

	public void saveToSdCard(String filename, String content) throws Exception{
		File file = new File(Environment.getExternalStorageDirectory(),filename);
		String sdpath = Environment.getExternalStorageDirectory().toString();
		Log.i("sdsdsdsd", sdpath);
		FileOutputStream outStream = new FileOutputStream(file);
		outStream.write(content.getBytes());
		outStream.close();
	}



File file = new File(Environment.getExternalStorageDirectory(),filename);
中的Environment.getExternalStorageDirectory(),这个因为每个版本的安卓SD卡存储位置不同,所以不能直接写定,从而用这个方法。为了方便的找到写入的文件位置,所以用Log.i(,)输出了存储的位置。

      

      在调用这个方法的时候,要优先判断SD卡是否写保护了,以及是否存在

Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)

一切都很正常对不对?没有发现什么错误对不对?但是为什呢在存储的时候就是存储不进去呢!?!?!?!?!?!我一直纠结了40多分钟!!!!!!

最后我发现,在创建AVD的时候没有创建SD卡区域。我日啊!!!!!!发火发火发火发火发火发火发火发火


  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值