Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Блоги > caseyryan

Оценить эту запись

Небольшой хак для записи или удаления файлов из директории приложения

Запись от caseyryan размещена 07.04.2017 в 06:44

Наверняка, многим, кто пишет под AIR, известно, что
Код AS3:
File.applicationDirectory
возвращает read-only файл.
Соответственно все его производные, которые возвращает
Код AS3:
File.applicationDirectory.resolvePath("имя файла");
Будут так же read-only.
Я давно это знал, и мне было пофиг, просто использовал File.applicationStorageDirectory вместо него.
Но недавно мне потребовалось записывать и удалять файлы именно в директории приложения. Не долго думая, решил обратиться к директории приложения не встроенным упрощенным способом, а обычным, через создание нового файла.
Код AS3:
var appDirectory:File = new File(File.applicationDirectory.resolvePath("somefile.ext").nativePath);
И вуаля. Я получил не read-only файл, который можно легко записать и удалить.

Если кому-то потребуется
Всего комментариев 6

Комментарии

Старый 09.04.2017 19:58 Tails вне форума
Tails
 
Аватар для Tails
Интересно.
А что происходит в таком случае при переустановке или обновлений приложения?
Обновил(-а) Tails 10.04.2017 в 14:50
Старый 13.04.2017 11:50 caseyryan вне форума
caseyryan
 
Аватар для caseyryan
Все данные, естественно, затираются. Но это и не нужно для хранения баз данных или чего-то в этом роде.
У меня есть игра и редактор локаций. И то и другое написано на эйр. В игре при запуске вызывается метод назначения переменной среды, в которую записывается путь до игры.
Редактор читает переменную среды и находит где установлена игра. Если художник нажимает Тест в редакторе, он автоматически записывает временный файл локации вместе с нужными ассетами в директорию игры и вызывает экзешник игры. Она запускается и сразу включает локацию. По завершении локации она автоматически удаляется. Но если игру завершить аварийно, то все эти ассеты там остаются. Переустановка игры решает вопрос полностью. Еще один плюс размещения этого именно в директории игры, это то, что при изменении версии игры и переустановки, все существующие (неподходящие по версии) ассеты, так же автоматически удалятся, и у художника не возникнет с этим проблем
Старый 22.04.2017 21:00 dimarik вне форума
dimarik
 
Аватар для dimarik
AIR ещё жив?
Старый 23.04.2017 13:05 caseyryan вне форума
caseyryan
 
Аватар для caseyryan
Цитата:
AIR ещё жив?
Риторический вопрос?)

Разве на данный момент есть что-то лучше, чем AIR, с теми же возможностями? Для десктопных приложений, которые не требуют особой работы с API системы, но при этом должны быть кросс платформенными - идеальный вариант.
Старый 23.04.2017 17:09 СлаваRa вне форума
СлаваRa
 
Аватар для СлаваRa
Костя, напомни мне, какие это "те же возможности"?
Старый 24.04.2017 11:12 caseyryan вне форума
caseyryan
 
Аватар для caseyryan
Цитата:
Костя, напомни мне, какие это "те же возможности"?
Ну, скажем, возможность быстро написать код, простая работа с изображениями, с анимациями, возможность быстро собрать готовый (довольно компактный) инсталятор который без проблем поставится и на мак и на винду, без каких-либо сторонних зависимостей.
 

 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.