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

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

Войти
Регистрация
Восстановить пароль
 
КВА696
37 / 37 / 6
Регистрация: 20.04.2014
Сообщений: 613
Завершенные тесты: 2
#1

Разрешение на создание файла для разных версий ОС - Android

30.10.2016, 12:19. Просмотров 172. Ответов 7
Метки нет (Все метки)

Почему то не создаётся текстовый фаил в эмуляторе 4.4.2 не в каком каталоге ни не сд карте ни в памяти
I/System.out: Ошибка ---java.io.IOException: open failed: EACCES (Permission denied)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
write("/storage/sdcard/Alarms/re.txt", "ntrc");
...
public void write(String fileName, String text) {
        //Определяем файл
        File file = new File(fileName);
 
        try
        {
            //проверяем, что если файл не существует то создаем его
            if(!file.exists())
            {
                file.createNewFile();
            }
 
            //PrintWriter обеспечит возможности записи в файл
            PrintWriter out = new PrintWriter(file.getAbsoluteFile());
 
            try
            {
                //Записываем текст у файл
                out.print(text);
            }
            finally
            {
                //После чего мы должны закрыть файл
                //Иначе файл не запишется
                out.close();
            }
        }
        catch(IOException e)
        {
            System.out.println("Ошибка ---"+e.toString());
        }
    }
больше ни чего не делал ни куда ни чего не добовлял

Добавлено через 8 минут
Нашел добавил в манифест <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
И заработало. Почему в уроках не пишут что ещё нужно чтобы все работало коректно? Есть ли что нить про манифест какие нить уроки узнать что да для чего.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2016, 12:19     Разрешение на создание файла для разных версий ОС
Посмотрите здесь:

Adobe Flash CS 5.5, ActionScript 3.0 - Создание кода для разных фреймов Android
Разный фон кнопки для разных состояний Android
Android Два разных apk-файла, завязанных на один проект
Сделать разрешение приложения одинаковым для всех девайсов Android
Разная разметка для разных разрешений Android
Android Создание массива экземпляров разных классов
Не удается подключить NotificationCompat для старых версий Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
shavuz
72 / 78 / 12
Регистрация: 29.01.2014
Сообщений: 357
30.10.2016, 13:07     Разрешение на создание файла для разных версий ОС #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
есть несколько видов пермишн, такие которые надо добавлять в манифест и такие которые идут "бесплатно", т.е. не надо отдельно их запрашивать, а есть такие которые вообще нельзя получить)
вот список :
https://developer.android.com/refere...ermission.html

до 6.0 жизнь в плане разрешений была легкой, после уже нужно отдельно запрашивать разрешения on the fly. т.е. ваши разрешения для сторадж в шестом андроиде рабоатать не будут.
КВА696
37 / 37 / 6
Регистрация: 20.04.2014
Сообщений: 613
Завершенные тесты: 2
30.10.2016, 14:27  [ТС]     Разрешение на создание файла для разных версий ОС #3
Цитата Сообщение от shavuz Посмотреть сообщение
до 6.0 жизнь в плане разрешений была легкой, после уже нужно отдельно запрашивать разрешения on the fly. т.е. ваши разрешения для сторадж в шестом андроиде рабоатать не будут.
А если программа пишется для старой версии 4 или 5 она же все равно будет работать на после 6? или на новых версиях программа не запустится? на сколько по урокам я понял новые андроиды просто обязаны понимать старые написанные версии
shavuz
72 / 78 / 12
Регистрация: 29.01.2014
Сообщений: 357
30.10.2016, 15:20     Разрешение на создание файла для разных версий ОС #4
нет, на новых версиях нужно запрашивать разрешения не через манифест, а именно там где они нужны, например если вы собираетесь записать в файл только на 3-тьем экране , то только в нем нужно запрашивать нужное разрешение, пользователю будет показано диалоговое окно , хочет ли он дать разрешения или нет, так же нужно предусмотреть что программа будет делать если пользователь отказался, например если это джипиэс и пользователь отказался то не будет показана текущая локация , в вашем случае ничего не будет записано в файл. запрос будет только в первый раз. дальше андроид уже будет знать что есть разрешения.
Цитата Сообщение от КВА696 Посмотреть сообщение
А если программа пишется для старой версии 4 или 5 она же все равно будет работать на после 6?
- не будет. просто будет вылетать. в наше время нельзя игнорировать разрешения. обязательно нужно учесть 6+ версии андроида.
Alex_Fedor
24 / 24 / 3
Регистрация: 20.01.2015
Сообщений: 192
30.10.2016, 16:03     Разрешение на создание файла для разных версий ОС #5
Цитата Сообщение от shavuz Посмотреть сообщение
обязательно нужно учесть 6+ версии андроида.
Скажите, а вот приложения написанные еще на эклипсе до 6 версии, там вроде максимальная версия андроида нигде не указывалась. Минимальная, целевая, и на которой компилировать.
shavuz
72 / 78 / 12
Регистрация: 29.01.2014
Сообщений: 357
30.10.2016, 17:05     Разрешение на создание файла для разных версий ОС #6
я не очень помню эклипс, но по большему счету максимальная версия не нужна, это работает от минимальной и до конца. ничего страшного нет в запросе разрешений на 6+. это пару строчек в активити.
Alex_Fedor
24 / 24 / 3
Регистрация: 20.01.2015
Сообщений: 192
30.10.2016, 17:14     Разрешение на создание файла для разных версий ОС #7
Цитата Сообщение от shavuz Посмотреть сообщение
это пару строчек в активити.
Это понятно, когда новый проект делаем будем учитывать. А вот если уже апк файл и лежит на каком нибудь плее. И плз если работает на АС скажите характеристики своего компа. Озадачился подбором железа под АС.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2016, 17:22     Разрешение на создание файла для разных версий ОС
Еще ссылки по теме:

Размеры ресурсов для разных устройств Android
Стили в AndroidStudio для разных API Android
Android Разные стили для разных тем
Dimens для разных экранов Android
Android Google maps метод поиска фрагмента карт на разметке для разных версий андроид

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

Или воспользуйтесь поиском по форуму:
shavuz
72 / 78 / 12
Регистрация: 29.01.2014
Сообщений: 357
30.10.2016, 17:22     Разрешение на создание файла для разных версий ОС #8
Дома работаю с i5, 8gb ram, 128 ssd - этого вполне достаточно.
на работе i7, 16gb ram, 256 ssd
если лежит на каком нибудь плее, что мешает сделать апдейт,почините и залейте заново, сейчас уже много устройств 6+ , так поучается что теряете пользователей только потому что не поддерживаете новые устройства???
Yandex
Объявления
30.10.2016, 17:22     Разрешение на создание файла для разных версий ОС
Ответ Создать тему
Опции темы

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