|
Программирование для мобильных устройств Android, iOS и другие |
31.03.2016, 21:00
|
#1
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Изменяемый конфиг для apk
Встала задача: сделать, чтобы игра грузила данные из файла, который можно менять, не переустанавливая (не перекомпиливая) приложение.
Если бы дело было на Винде, то тут всё легко: в папке с игрой кладём txt-файлик, читаем его через StreamReader (как один из вариантов), берём оттуда данные и дальше делаем, что захотим.
Но проблема в том, что на мобилке "в папку с игрой" ничего не подсунешь. Короче, проблема — "скормить" игре "левый" файл.
Пока что придумал такой дебил-козёл способ: файл этот хранить в Интернете и загружать по http, что очень неудобно в плане его редактирования, да и сама идея тупая.
Может, есть какие-то места на Андроиде, где можно хранить юзерские файлы, и игра сможет получить к ним доступ? Можно ли это сделать на Юнити?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
31.03.2016, 21:07
|
#2
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Изменяемый конфиг для apk
Ну дык читай с SD карты (даже если она не воткнута, то внутренняя монтируется как карта памяти). Там только надо в манифесте разрешить это дело.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.03.2016, 21:16
|
#3
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Изменяемый конфиг для apk
А если грузить бандлы? Их можно сделать с любыми ресурсами.
Папка приложения, которая в data/. Туда - оттуда пиштся без бубнов, вроде если не указать путь до файла, то он дефолтный как-раз туда (если не изменяет память). Как выше написали, то SD карту тоже можно, даже без правки манифеста, в PlayerConfig есть настройка для этого.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.03.2016, 21:22
|
#4
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Изменяемый конфиг для apk
Всё понятно, так и сделаю.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
03.04.2016, 22:41
|
#5
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Изменяемый конфиг для apk
Ну, в-общем, отпишусь вкратце, если кто-то тоже будет это искать.
В Юнити папку приложения можно получить по Application.persistentDataPath
В это папку можно читать и писать файл через удобный вам интерфейс ввода-вывода.
Например:
File.WriteAllText(Application.persistentDataPath + "/foo.txt", "bar");
Для упрощения поисков выведите Application.persistentDataPath на экран каким-либо образом (например я создал Text на канвасе и высрал её туда).
Например, путь может выглядеть так: Android/data/com.foo.bar/files
Теперь то, что может сбить поначалу с толку.
В Юнити обязательно надо либо включить галку " Developbemt Build" в настройках билда, либо выбрать player settings > android > configuration > write access = external, иначе на Андроиде приложение будет "в песочнице", писать, что она находится в /data/data, но на деле извне к ней доступа будет не получить (если у вас не рутован девайс).
Соответственно, я сначала долго не мог найти, куда же пишется и откуда читается, и выставление Write Access мне помогло. Тогда я положил в эту папку файл с конфигом, и он нормально прочитался моей игрой. Хеппи энд.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
04.04.2016, 07:46
|
#6
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Изменяемый конфиг для apk
Сообщение от ABTOMAT
Ну, в-общем, отпишусь вкратце, если кто-то тоже будет это искать.
В Юнити папку приложения можно получить по Application.persistentDataPath
В это папку можно читать и писать файл через удобный вам интерфейс ввода-вывода.
Например:
File.WriteAllText(Application.persistentDataPath + "/foo.txt", "bar");
Для упрощения поисков выведите Application.persistentDataPath на экран каким-либо образом (например я создал Text на канвасе и высрал её туда).
Например, путь может выглядеть так: Android/data/com.foo.bar/files
Теперь то, что может сбить поначалу с толку.
В Юнити обязательно надо либо включить галку " Developbemt Build" в настройках билда, либо выбрать player settings > android > configuration > write access = external, иначе на Андроиде приложение будет "в песочнице", писать, что она находится в /data/data, но на деле извне к ней доступа будет не получить (если у вас не рутован девайс).
Соответственно, я сначала долго не мог найти, куда же пишется и откуда читается, и выставление Write Access мне помогло. Тогда я положил в эту папку файл с конфигом, и он нормально прочитался моей игрой. Хеппи энд.
|
Это не песочница, это PrivateDirectory, на самом деле /sdcard/Android/Data тоже самое, но там нельзя выставлять права (fat32 не позволяет), по этому можно достучаться до нее, по этому кстати execute не работает с карт, если кто пытался нативки с них запускать.
Да, кстати, если хочешь приватную инфу хранить, то можно получить и /data/data , вроде через переменные окружения.
Автомат, я же скрин для этого приложи
Ну и написал, что права нужно выставить.
Ты читаешь черезстрочно.
UPD: возможно пока ты увидел, срок на картинку истек и ее удалил сервер, прости.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:19.
|