Хранение на внешней карте памяти - PullRequest
0 голосов
/ 09 октября 2011

Я хочу сохранить данные, записанные с помощью акселерометра, во внешнем хранилище, но у меня возникает ошибка при попытке создать каталог, в котором я хочу сохранить данные. Мой код выглядит следующим образом:

dataDirectory=Environment.getDataDirectory();
path=DataDirectory.getAbsolutePath();
path+="/"+getResources().getString(R.string.DirectoryName);
myDirectory=new File(path);
myDirectory.createNewFile();

Вызов createNewFile вызывает IOException.

Я могу добавить две вещи: переменная path устанавливается на "/ data" после вызова getAbsolutePath, а функция getExternalStorageState возвращает "смонтированный".

Может кто-нибудь сказать мне, что не так в моем коде?

Заранее благодарим за потраченное время, пытаясь помочь мне.

Ответы [ 2 ]

2 голосов
/ 09 октября 2011

У вас нет прав на запись в каталог /data

  • Используйте каталог sdcard
  • Или попробуйте поработать в каталоге /data/data/com.yourapplication/files, где у вас есть разрешение,Используйте Context.getFilesDir(), чтобы получить путь к рабочему каталогу вашего приложения.
0 голосов
/ 09 октября 2011

попробуйте

path=DataDirectory.getAbsolutePath().toString();

добавить WRITE_EXTERNAL_STORAGE разрешение в файл манифеста

...