Я запускаю файлы конфигурации в своем приложении для Android, и я нашел версию snakeyaml, которая работает для android (если есть более сильные парсеры, я открыт для чего-либо). Библиотека возвращает hashmaps объектов конфигурации, которые он читает. Я до сих пор довольно новичок в конфигурационных файлах, поэтому я просто опубликую то, что у меня есть прямо сейчас. Это работает, но это дает Hashmap, который состоит из 4 слоев. Это кажется совершенно неправильным.Каков правильный способ структурирования моего файла yaml для моего приложения для Android?
---
Games:
Drag Race:
Avatar:
classic:
color:
- black
- blue
- green
- red
- yellow
fastback:
color:
- black
- blue
- olive
- red
- white
lux:
color:
- blue
- gunmetal
- orange
- violet
- white
old:
color:
- black
- blue
- purple
- red
- white
Race to Mars:
avatar:
ship:
- red
- blue
- yellow
Моя конечная цель сохранить следующее:
- список видов игр
- список аватаров для каждого типа игры
- список цветов для каждого аватара
Каждый список зависит от последнего. Мой нынешний подход кажется очень волосатым и потенциально проблематичным.
Я дам им попробовать сегодня вечером. Итак, по вашему мнению, вы подразумеваете, что это не страшно иметь вложенные хэш-карты при загрузке конфигурационных файлов? – Shadoninja
@Shadoninja Нет, это не так, вы должны иметь некоторые подпрограммы/объекты для доступа к объектам (и, при необходимости, их запись/обновление) и убедитесь, что только они должны знать, как получить доступ к фактической структуре. После этого не имеет значения, насколько глубоко вложены вложения. Увидите это как наличие нескольких уровней каталогов и не помещайте все в корень вашей файловой системы: да, вам нужно знать путь к вашему файлу, но поэтому все, что принадлежит друг другу, хорошо сгруппировано. – Anthon
Хорошо, это тот ответ, который я искал. Вчера вечером я собрал класс конфигурации, чем захватывал информацию с разных уровней вложенных хэш-карт. API оказался довольно чистым. Благодарю. – Shadoninja