没有安装SD卡(eclipse中的Android app dev)

时间:2011-12-01 21:36:07

标签: java android eclipse sd-card

我是Eclipse的Android开发新手,我很难搞清楚如何配置我的应用程序,以便能够读取/写入虚拟SD卡的文本。

我做了大量的谷歌搜索并找到了点点滴滴,但我仍然觉得我错过了让它无效的东西。

在我的清单中,我已经包括:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" \>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" \>

这是我的代码:

String state=Environment.getExternalStorageState();
    if(!state.equals(Environment.MEDIA_MOUNTED))
        data.setText("SD card not mounted");
    else
    {
        File externalDir=Environment.getExternalStorageDirectory();
        File textFile=new File(externalDir.getAbsolutePath()+File.separator+"text.txt");
        try
        {
            writeTextFile(textFile, "this is a test\n LINE BREAK");
            String text=readTextFile(textFile);
            data.setText(text);
            if(!textFile.delete())
            data.setText("couldn't remove temporary dir");
        }
        catch(Exception e)
        {
            data.setText(e.getMessage());
        }
    }

 private void writeTextFile(File file, String text) throws IOException
{
    BufferedWriter writer = new BufferedWriter(new FileWriter(file));
    writer.write(text);
    writer.close();
}
private String readTextFile(File file) throws IOException
{
    BufferedReader reader = new BufferedReader(new FileReader(file));
    StringBuilder text=new StringBuilder();
    String line;
    while((line=reader.readLine())!=null)
    {
        text.append(line);
        text.append("\n");
    }
    reader.close();
    return text.toString();
}

我在按钮单击功能中有代码的第一部分,“data”变量用于editText视图。 每次我运行它并单击按钮,我得到结果“SD卡未安装”。

我知道我错过了一个重要的步骤,以使其正常运作。有人可以帮帮我吗? 谢谢!

2 个答案:

答案 0 :(得分:0)

我认为您正面临这个问题,因为您的模拟器可能未正确配置以使用(或提供)SD卡功能。

因此我建议您访问AVD Manager&gt; 修改 AVD&gt;指定所需SD卡的大小。

另外不要忘记将硬件属性添加到相同的avd。选择新建&gt; “ SD卡支持”&gt;将其设置为 true

我认为这样可以解决问题。如果它仍然属于 - 请在这里报告! 祝你好运!:)

答案 1 :(得分:0)

我遇到了一个新的android 6. + avd这个问题,当我第一次启动avd时我没有设置sdcard。它没有正确创建符号链接。

符号链接到以下内容:Arrays

以下是符号链接

/mnt/user/0/primary

没有创建主目录。我重新创建了avd并完成了设置SD卡的过程,现在生活很棒!