首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >android droid3不同的sdcard文件系统?

android droid3不同的sdcard文件系统?
EN

Stack Overflow用户
提问于 2011-07-19 02:52:08
回答 1查看 302关注 0票数 0

一年前,我开发了一款应用程序,可以在sdcard根文件夹中写入备份。这一切都很好,直到我现在抱怨说,新的droid3可以将所有文件保存到SD卡本身的文件夹/sdcard中。

现在看起来我的应用程序不能处理这个问题。它显示"write successful“,但用户在SD卡上的任何位置都找不到该文件,而且当应用程序尝试从SD卡的根目录读取备份时,它也找不到任何东西。

这似乎是一种文件系统行为,并不适用于典型的安卓文件系统,因此我被卡住了,因为我也没有要测试的droid3。有什么帮助或建议吗?

谢谢,克里斯

代码语言:javascript
运行
复制
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()) {
    File gpxfile = new File(root, DATABASE_TABLE + ".myd");
    FileWriter gpxwriter = new FileWriter(gpxfile);
    BufferedWriter out = new BufferedWriter(gpxwriter);
// later i write for example:
out.write("<data>\n");

下面是我是如何阅读的

代码语言:javascript
运行
复制
 File root = Environment.getExternalStorageDirectory();
 if (root.canRead()) {
File gpxfile = new File(root, DATABASE_TABLE + ".myd");
FileReader gpxwriter = new FileReader(gpxfile);
BufferedReader in = new BufferedReader(gpxwriter);
while ((dummystr2 = in.readLine()) != null) 
    {
      // read data line by line
    }               
EN

回答 1

Stack Overflow用户

发布于 2011-07-19 03:06:04

我仍然认为你应该把你的代码放在上面,让每个人都可以根据评论看一下。

但是如果你想在真实的设备上进行测试,这里有一个地方你可以使用Real Device Testing via DeviceAnywhere

我认为你可以免费使用他们的服务三个小时,你可能必须跳过圈套(听销售助理胡说八道,并试图为你注册),但这是一种在没有设备的情况下在实际设备上进行测试的方法(它是在3g/4g网络上运行的)

价格令人困惑,但绝对昂贵,免费试用应该可以让你做你需要做的事情,我认为如果你能让他们安装一个droid2。

由于他们没有展示droid3(但他们可能有一台,只是没有列出),我敢打赌,如果你和销售团队谈过,说,很有趣,但我看不出我对droid3感兴趣,他们可能会在几天内附加一台。

更新:,所以我在一个2.3.3的设备上做了一些测试,我认为他们的根访问可能有一些问题(我想我在某个地方读到了这是一个糟糕的形式),但它工作得很好。

所以我做了更多的搜索,似乎一些设备返回mnt/sdcard作为外部存储,即使这些设备使用mnt/sdcard-ext作为实际的外部SD

据我所知,这意味着它实际上写入内部存储,写工作(如果你可以这样叫它的话),而读不是。请参阅Stack Flow Similar Question/Answer

一些终端用户Droid 3 Users - See Page 2证实了这一点,他们说它创建了一个内部SD卡分区,尽管目前还不清楚这是典型的行为还是放入以前使用的SD卡的结果,观点似乎各不相同,但在内存大于8 8GB的设备上,他们确实是一个真正的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6737821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档