Вопрос новичка Android уже существующих простых настроек по умолчанию - PullRequest
0 голосов
/ 28 июля 2011

были в отъезде от Android более года, пытаясь снова его освоить, но не понимали, имеют ли они простое предпочтение по умолчанию.

Мое приложение в значительной степени опирается на базу данных SQLite3, которая имеет сотнистолы.При запуске необходимо собрать и загрузить большое количество данных при запуске.

Мне просто нужен простой способ прочитать две строки из файла настроек.Дело в том, что я хочу, чтобы в самый первый раз, когда приложение открывалось, два строковых значения по умолчанию.

Если пользователь изменит это, я сохраню его обратно.

Читал две книги, SharedPreferences, File I / O и т. Д. Только то, что все примеры кажутся немного сложными для того, что мне нужно.

Итак, если я создаю res / pref / preferences.xml, все, что я вижу, это PreferenceScreensв качестве корневого элемента

Для моих нужд, я думаю, мне просто нужно корневое предпочтение, такое как:

<?xml version="1.0" encoding="utf-8"?>
<Preference
 xmlns:android="http://schemas.android.com/apk/res/android">
</Preference>

как мне добавить две простые пары ключ / значение строки, которые я прочитал бы всамый первый запуск, и только когда нужно написать в него?

любая помощь приветствуется, извините за noob'iness

1 Ответ

2 голосов
/ 28 июля 2011

Я думаю, что вы слишком усложняете то, что вам нужно сделать, общие настройки идеально подходят для этой ситуации и легко реализуются.Просто выполните проверку в onCreate () при запуске приложения:)

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

//"Hello World" is the name of your preferences
SharedPreferences settings = getSharedPreferences("HelloWorld", 0);

//to get a value from pref - (NAME_OF_PREF,RETURN_IF_NOT_FOUND)
boolean enteredDetails = settings.getBoolean("details", false);
string foo = settings.getString("foo_name","no name");

//to write to them - (NAME_OF_PREF,VALUE)
SharedPreferences.Editor editor = settings.edit();
editor.putString("foo_name", "Joe Bloggs");
editor.putBoolean("details", true);
editor.commit();
}
...