Запись файла на SD-карту не работает - PullRequest
0 голосов
/ 18 июня 2011

Я написал это, чтобы сохранить файл на SD-карте, но он не работает.

public class TestarFilesActivity extends Activity {

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        File root = Environment.getExternalStorageDirectory();

        try {
            if (root.canWrite()) {
                File file = new File(root, "agora.txt");
                FileWriter fwriter = new FileWriter(file);
                BufferedWriter out = new BufferedWriter(fwriter);
                out.write("Hello world");
                out.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }TestarFilesActivity.this.finish();
    }
}

Как возникает эта проблема и как я могу ее решить? Я думаю, что все в порядке, и у меня тоже есть разрешение в манифесте.

Ответы [ 3 ]

2 голосов
/ 18 июня 2011

если вы запускаете это приложение в эмуляторе Android, вы должны подготовить sdcard через DevTools Terminal Emulator и проверить каталог sdcard с помощью команды linux как $ ls и разрешить sdcard если нет в наличии, подготовьте его и попробуйте следующее

File file = new File(root, "/sdcard/agora.txt");
FileWriter fwriter = new FileWriter(file);
BufferedWriter out = new BufferedWriter(fwriter);
out.write("Hello world");
out.close();

//Use this in manifest.xml  
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
2 голосов
/ 18 июня 2011

Проверьте, сообщается ли об этой проблеме, похоже, что -check, если SD-карта доступна для записи Ошибка записи текстового файла на SD-карту

0 голосов
/ 16 июня 2013

Вы дали разрешение на запись на SDCard в вашем AndroidManifest.xml?

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