你的位置:首页 > 操作系统

[操作系统]Adroid: getExternalStorageDirectory 不一定是你想要的外部存储SdCard


  前情提要:我的测试机是华为荣耀6,我装过一个16G的内存卡
  因为要面试的需要,我的一个演示项目用的是android本地的WebService。然而写好的webService部署到本地上,应用怎么获取数据都报错了,只有几个返回的仅仅是字符串的没有问题。查看了代码,正常的部分都是直接返回字符串的。不正常的部分都是读取文件的时候出现异常了。
  首先我想到的是会不会是因为代码中的读取部分有问题,我建立了一个demo项目来读取SDcard,但是我怎么处理都出现open failed: ENOENT (No such file or directory)这样的错误,然后试着把文件夹和路径都创建一遍看看会不会把现有SdCard覆盖掉。然而没有发生变化。

  
  试着去找找同样的文件路径。居然真的找到了,然后最底层我发现了刚刚我创建的大小为0kb的文件。此致我可以推测getExternalStorageDirectory获取的并不是我想要的外部存储SDCard,上网查询资料我发现,其实这个所谓的内部存储也是SDCard只不过它是默认的。
为了解决的webServie的资源访问问题,我用360手机助手将电脑上的这份资源导入到了SdCard0里去了。
  弯弯曲曲耗费了4-5个小时,真实心累
  上午一起床,打开电脑启动genymotion就爆了,找了一上午的问题,uxtheme替换(然而并覆盖不了),运行改成兼容模式(两个都试过了并无卵用),virtualBox换成了4.3.12也不行。只能放弃治疗了。改用android studio自带的了。