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自带的了。


Adroid: getExternalStorageDirectory 不一定是你想要的外部存储SdCard的更多相关文章
- Android Environment.getExternalStorageDirectory() 获取的是内部存储还是外部存储? - z
这几天在做Android应用的远程更新功能,将下载的更新包放在移动设备上指定的目录.用的是 Environment.getExternalStorageDirectory() 这个方法,然后在获取的 ...
- Android Environment.getExternalStorageDirectory() 获取的是内部存储还是外部存储?
这几天在做Android应用的远程更新功能,将下载的更新包放在移动设备上指定的文件夹. 用的是 Environment.getExternalStorageDirectory() 这种方法.然后在获 ...
- Android开发学习---如何写数据到外部存储设备(sd卡),Environment.getExternalStorageDirectory,怎么获取sd卡的大小?
本文主要介绍如何写数据到sd卡,这里主要到的技术是Environment中的方法. 1. 2.实现代码: /datasave/src/com/amos/datasave/savePasswordSer ...
- storage路径问题
1 概念总述 android开发中,关于存储路径,我们经常听到以下几个概念:内存.内部存储和外部存储,现在我们就来详细说说这三者区别与联系. 内存:英文中记为memory,即RAM 内部存储:英文记为 ...
- Google Developing for Android 一 - 相关上下文介绍
前几天在G+上看到Google Developers站点,有一个Android系列的文章,分享到个人微博,周末闲来没事就学写了下,把它们简单的翻译了下,没想到一发不可收拾,六篇文章全部都翻译完了,有些 ...
- 【Android平台安全方案】の #00-请不要在外部存储(SD卡)加密存储的敏感信息
本文翻译自https://www.securecoding.cert.org/confluence/display/java/DRD00-J.+Do+not+store+sensitive+infor ...
- Android 开发笔记___SD卡基本操作
package com.example.alimjan.hello_world; /** * Created by alimjan on 7/5/2017. */ import android.ann ...
- APP安全性测试总结--网上转载
移动APP安全测试 老鹰a0人评论7103人阅读2018-08-06 16:22:07 1 移动APP安全风险分析 1.1 安全威胁分析 安全威胁从三个不同环节进行划分, ...
- Android Developers:保存文件
Android使用一个和其它平台基于硬盘文件系统相似的文件系统.这个课程描述了如何和在Android文件系统使用File APIs读和写文件. 一个File对象适用于读或者写从头到尾没用中断的大型数据 ...
随机推荐
- python-django如何在sae中使用自带ImageField和FileField -django-上善若水小站
python-django如何在sae中使用自带ImageField和FileField -django-上善若水小站 python-django如何在sae中使用自带ImageField和FileF ...
- chrome console 调试xpath
chrome console F12->$x(“//title”) [<title>Online Tools for Software Developers (Free)</t ...
- H面试程序(12): 输出字符串中第一个只出现一次的字母
题目描述: 若字符串str为'' sbdddsbfc'',则输出 f; 若字符串str为''aabbccdd'',则输出:字符串str中的字符都出现两次以上 #include <stdio.h& ...
- Android 简单的代码混淆
Android的代码混淆是开发者需要了解的相关知识,它能够防止android应用程序的反编译.因为android程序多数是java语言开发的,而java代码很容易被反编译,所以为了使android应用 ...
- iOS开发之性能优化
1.避免过于庞大的XIB 当加载XIB的时候把所有的东西都放在了内存里,包括任何的图片:如果有一个不会即刻用到的view,就会浪费宝贵的内存资源了. 当加载一个引用了图片或者声音资源的nib时,nib ...
- [Effective C++系列]-透彻了解inlining的里里外外
Understand the ins and outs of inlining. [原理] Inline函数背后的做法是将“对函数的每一个调用”都用函数本体(function body)替换之.其 ...
- Android 尺寸 神图
- PHP常用类型判断函数总结
1.gettype():获取变量类型 2.is_array():判断变量类型是否为数组类型 3.is_double():判断变量类型是否为倍浮点类型 4.is_float():判断变量类型是否为浮点类 ...
- PHP扫雷(转载)。
<?php @$init = $_POST["init"];//game restart @$clickvalue = $_POST["clickvalue& ...
- mysqli扩展库的 预处理技术 mysqli stmt
问题的提出? 现在需要向mysql数据库添加100个用户,请问如何实现? 思路: 使用for循环100次,向数据库中添加100个用户. 使用批量添加 $sql1=”insert xxx”; $ssql ...