Пятница, 19 Апреля 2024, 20:00

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Java » LibGDX FileHandle
LibGDX FileHandle
goldsphereДата: Понедельник, 19 Мая 2014, 17:05 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
У меня есть файл, в котором хранится счёт игрока. Мне необходимо в начале игры считать его, а затем в конце в него же записать новый рекорд(если таковой имеется). Делаю я это так.
считывание:
Код
FileHandle handle = Gdx.files.internal("data/user.cfg");
bestScore = Integer.parseInt(handle.readString());


запись:
Код
FileHandle handle = Gdx.files.internal("data/user.cfg");
handle.writeString(Integer.toString(score), false);


И вот на записи, то всё и ломается:


Я ещё не до конца понимаю, как устроенна файловая система в проектах, бывает пытаюсь взять относительный адрес, он вроде правильный, но нет... Помогите разобраться.


FinderX - Android Аркада

Сообщение отредактировал goldsphere - Понедельник, 19 Мая 2014, 17:06
FolleahДата: Понедельник, 19 Мая 2014, 18:23 | Сообщение # 2
Архитектор
Сейчас нет на сайте
Во-первых, нужно проверять файл на существование:
Код
boolean exists = Gdx.files.external("data/user.cfg").exists();

Во-вторых:
Вот тут всё хорошо описано
Особенно прочти "Типы (хранения) файлов", думаю ошибка где-то там.




Сообщение отредактировал Folleah - Понедельник, 19 Мая 2014, 18:24
shkololо_ubiycаДата: Понедельник, 19 Мая 2014, 18:35 | Сообщение # 3
был не раз
Сейчас нет на сайте
goldsphere, все очень просто. Вот здесь твоя ошибка:
Цитата goldsphere ()
И вот на записи, то всё и ломается:

перед ТО не нужна запятая, там нужен дефис!
goldsphereДата: Вторник, 20 Мая 2014, 11:25 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
Folleah, спасибо, полезная статья, помогла) Проблема была в том, что я пытался записать данные в файл только для чтения.

Добавлено (20.05.2014, 09:45)
---------------------------------------------
Знаете моя вечная проблема в том, что я смотрю, что всё идёт хорошо, обрадованный отписываюсь об этом и не замечаю мелочей) Вот на десктоп версии работает всё нормально, на андройд при запуске выдаёт ошибку. Судя по проверке, он не находит этот файл, несмотря на то, что на десктопе, я его даже удалил из assets, и он всё равно его где-то в своём месте хранит, видимо сам создаёт. Надо ли создавать его ручками? Если да, то где.

Добавлено (20.05.2014, 10:52)
---------------------------------------------
Хотя я запускал на эмуляторе, может быть на реальном устройстве оно и работает нормально...

Добавлено (20.05.2014, 11:15)
---------------------------------------------
Меня всегда поражал, эклипс с андройд эмулятором, оно ни с того, ни с сего заработало, хотя как я уже понимаю, это - не факт что на долго biggrin


FinderX - Android Аркада

Сообщение отредактировал goldsphere - Вторник, 20 Мая 2014, 11:29
Форум игроделов » Программирование » Java » LibGDX FileHandle
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг