Предпочтения - это путь, если вы не говорите о тысячах пользовательских предложений. Это также зависит от масштабируемости, если вы просто хотите добавить строки, это делает работу. Если вам нужно найти определенную строку, вам, вероятно, придется загрузить их все. Предпочтения хранятся локально, поэтому каждый модуль имеет легкий доступ к нему с помощью интерфейса Gdx. Это, как вы используете Preferences
Preferences preferences = Gdx.app.getPreferences("filename");
preferences.putString(Key<String>, Value);
preferences.flush();
Теперь, чтобы иметь возможность продолжать добавлять строки, нужно, чтобы увеличить ключ каждый раз, когда вы помещаете строку в настройках. Вы можете сделать это и в настройках.
int stringCount = preferences.getInteger("string_count"); // Get current string count
preferences.putInteger("string_counr", stringCount++); // Increment stringCount and put it back in preferences
preferences.putString("userstring_" + stringCount, someString); // Create string using incremented stringCount.
preferences.flush(); //Store data
Вы можете получить доступ к строкам, используя количество строк. Или вы можете загрузить их все во время выполнения. В зависимости от ваших потребностей вы также можете сохранить точную строку в качестве ключа, но вам будет сложно найти их, если вы не знаете строку.
int stringCount = preferences.getInteger("string_count");
List<String> userStrings = new ArrayList<String>();
for (int i = 1; i <= stringCount; i++)
{
userStrings.add(preferences.getString("userstring_" + stringCount);
}
Строки хранятся на окнах в users/username/.prefs/filename
Я хранится несколько сотен полей в настройках без каких-либо проблем. Это не самый быстрый на flush()
, но вы, вероятно, можете хранить все предложения и пакетные файлы. Если ваши потребности не слишком требовательные, то их легко сделать. Если вы ищете гораздо более масштабируемый вариант, вы должны пойти с JSON, XML, языком сценариев или, возможно, написать для себя свой собственный читатель/писатель. База данных будет излишней, если вы не хотите связать пользователей и другие данные с этими предложениями.
Обязательно укажите пример того, что вы пробовали, или, по крайней мере, то, что вы изучали при проведении исследований. – jkdba
JSON будет проще всего, потому что у LibGDX есть встроенная поддержка, и вы можете протестировать его в настольных сборках. SQLite было бы лучше, если бы количество предложений было огромным, так что вы не хотите загружать весь набор в память. Но это будет сложнее реализовать, потому что вам нужно будет написать некоторые интерфейсы и код для Android. – Tenfour04
@JohnK Я пока ничего не пробовал, потому что не был уверен, с чего начать. Но я посмотрел на вещи, о которых я упоминал в своем вопросе. – red1575