我是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卡未安装”。
我知道我错过了一个重要的步骤,以使其正常运作。有人可以帮帮我吗? 谢谢!
答案 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卡的过程,现在生活很棒!