Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Программирование для мобильных устройств

Программирование для мобильных устройств Android, iOS и другие

Ответ
 
Опции темы
Старый 31.03.2016, 21:00   #1
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Изменяемый конфиг для apk

Встала задача: сделать, чтобы игра грузила данные из файла, который можно менять, не переустанавливая (не перекомпиливая) приложение.

Если бы дело было на Винде, то тут всё легко: в папке с игрой кладём txt-файлик, читаем его через StreamReader (как один из вариантов), берём оттуда данные и дальше делаем, что захотим.

Но проблема в том, что на мобилке "в папку с игрой" ничего не подсунешь. Короче, проблема — "скормить" игре "левый" файл.

Пока что придумал такой дебил-козёл способ: файл этот хранить в Интернете и загружать по http, что очень неудобно в плане его редактирования, да и сама идея тупая.

Может, есть какие-то места на Андроиде, где можно хранить юзерские файлы, и игра сможет получить к ним доступ? Можно ли это сделать на Юнити?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 31.03.2016, 21:07   #2
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Изменяемый конфиг для apk

Ну дык читай с SD карты (даже если она не воткнута, то внутренняя монтируется как карта памяти). Там только надо в манифесте разрешить это дело.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ABTOMAT (31.03.2016)
Старый 31.03.2016, 21:16   #3
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Изменяемый конфиг для apk

А если грузить бандлы? Их можно сделать с любыми ресурсами.

Папка приложения, которая в data/. Туда - оттуда пиштся без бубнов, вроде если не указать путь до файла, то он дефолтный как-раз туда (если не изменяет память). Как выше написали, то SD карту тоже можно, даже без правки манифеста, в PlayerConfig есть настройка для этого.
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ABTOMAT (31.03.2016)
Старый 31.03.2016, 21:22   #4
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Изменяемый конфиг для apk

Всё понятно, так и сделаю.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 03.04.2016, 22:41   #5
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 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), Nex (29.05.2016)
Старый 04.04.2016, 07:46   #6
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 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: возможно пока ты увидел, срок на картинку истек и ее удалил сервер, прости.
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Антихрист (04.04.2016)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 20:02.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com