Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
dentical12
4 / 4 / 1
Регистрация: 01.03.2015
Сообщений: 111
Записей в блоге: 1
#1

Не пишет на диск - Android

31.03.2016, 16:34. Просмотров 183. Ответов 7
Метки нет (Все метки)

Я пытаюсь записать настройки в файл но вылетает exception! Файл: /data/data/com.nekitsgames.lightcontrol/files/options.json (это папка моего приложения)
Ошибка (IOException) :
Кликните здесь для просмотра всего текста
/data/data/com.nekitsgames.lightcontrol/files/options.json: open failed: EACCES (Permission denied)

Код:
Java
1
2
           ObjectMapper mapper = new ObjectMapper(); //Из библиотеки jackson, он а преобразовывает класс в json объект и сохраняет в файл
           mapper.writeValue(new File(fileName), optionsJsonData);
В манифесте разрешения прописаны:
Кликните здесь для просмотра всего текста
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

Тестировал (не работает) на Nexus 5 (Android 5.1.1). Помогите кто знает! В android новичок!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2016, 16:34     Не пишет на диск
Посмотрите здесь:

Windows XP Процесс lsass непрерывно пишет и читает диск
внешний жесткий диск ADATA NH 92 читает, но не пишет.
Помогите идиоту: Привод не видит вставленный диск, пишет "вставить диск"
Яндекс.Диск API Android
SQLite DataBase - почему подчеркивает DataBase db: пишет (DataBase cannot be resolved to a type) Android
Не пишет диск установки Windows 7 через bootcamp Mac OS
Ошибка Genymotion, не открывает эмулятор, пишет Error + скрины Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
31.03.2016, 16:58     Не пишет на диск #2
dentical12, как путь к файлу формируете?
fraley
103 / 103 / 37
Регистрация: 24.05.2015
Сообщений: 312
31.03.2016, 17:02     Не пишет на диск #3
А если так попробовать?
Java
1
mapper.writeValue(new File(getFileDir(), fileName), optionsJsonData);
P.S. На всякий случай, для getFileDir() нужен Context.
dentical12
4 / 4 / 1
Регистрация: 01.03.2015
Сообщений: 111
Записей в блоге: 1
31.03.2016, 17:18  [ТС]     Не пишет на диск #4
Цитата Сообщение от fraley Посмотреть сообщение
А если так попробовать?
Java(TM) 2 Platform Standard Edition 5.0Выделить код
1
mapper.writeValue(new File(getFileDir(), fileName), optionsJsonData);
P.S. На всякий случай, для getFileDir() нужен Context.
Этот код у меня не в activity а в другом классе, там нет getFileDir()
Цитата Сообщение от YuraAAA Посмотреть сообщение
dentical12, как путь к файлу формируете?
Переменная
Java
1
private static final String fileName = "/data/data/com.nekitsgames.lightcontrol/files/options.json";
Добавлено через 6 минут
на android 6.0 вроде все норм
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
31.03.2016, 17:58     Не пишет на диск #5
dentical12, не не, так нельзя. getExternalCacheDir(), например, надо вызывать.
dentical12
4 / 4 / 1
Регистрация: 01.03.2015
Сообщений: 111
Записей в блоге: 1
31.03.2016, 18:08  [ТС]     Не пишет на диск #6
Цитата Сообщение от YuraAAA Посмотреть сообщение
dentical12, не не, так нельзя. getExternalCacheDir(), например, надо вызывать.
Я попробовал использовать getFilesDir(), та же ошибка
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
31.03.2016, 18:15     Не пишет на диск #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
dentical12,
Java
1
.writeValue(new File(context.getExternalCacheDir(), "options.json"), optionsJsonData)?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2016, 18:21     Не пишет на диск
Еще ссылки по теме:

Запускаю проект "Hellow world" в андроид студии пишет aidl is missing Android
Android Кто в каких средах разработки пишет для андроида?
Android studio как перенести на другой жёсткий диск Android
Android Не получается запустить проект (в android studio пишет Gradle 'MyApp' project refresh failed)
LogCat не пишет мои логи Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
dentical12
4 / 4 / 1
Регистрация: 01.03.2015
Сообщений: 111
Записей в блоге: 1
31.03.2016, 18:21  [ТС]     Не пишет на диск #8
Цитата Сообщение от YuraAAA Посмотреть сообщение
dentical12,
Java(TM) 2 Platform Standard Edition 5.0Выделить код
1
.writeValue(new File(context.getExternalCacheDir(), "options.json"), optionsJsonData)?
Спасибо!
Yandex
Объявления
31.03.2016, 18:21     Не пишет на диск
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru