Я новичок в разработке для Android с Eclipse, и мне трудно понять, как настроить мое приложение, чтобы оно могло читать / записывать текст на виртуальную 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-карта не установлена».
Я знаю, что где-то упускаю важный шаг, чтобы заставить это функционировать должным образом. Кто-нибудь может мне помочь, пожалуйста?
Спасибо!