2015-01-29 6 views
1

Я создаю свою первую игру для Android с помощью Android Studio и задаю вопрос о выборе и обслуживании параметров во всем приложении.Android-дизайн: пользовательские параметры, используемые во всем приложении

В главном меню, пользователь должен выбрать «New Game», который открывающее активность под названием «Новые игры Параметры», где они будут выбрать один вариант из каждой из трех категорий:

  1. Род занятий (род занятий 1, занятие 2, занятие 3 и т.д.)
  2. Пункт взята (пункт 1, пункт 2, пункт 3, и т.д.)
  3. действия, выполняемые (действие 1, действие 2, действие 3, и т.д.)

Независимо от значений выбор пользователя не изменится снова для этой конкретной игры после начала игры. В зависимости от выбора будут происходить разные события, поэтому мне нужно будет ссылаться на эти параметры на протяжении всей игры.

Мой вопрос: какой лучший способ для этого? Я просматривал тонны документации для BaseAdapter, ArrayAdapter, ListAdapter, Preference, SharedPreference, постоянных данных, и многие из них кажутся жизнеспособными, но временами это было чем-то подавляющим и запутанным. Я получил здесь много хорошей информации и ценю любую помощь, которую вы можете предоставить.

ответ

0

Самый простой способ сохранить только несколько значений (например, ваш, три параметра со значениями) - SharedPreferences. Здесь есть хороший и простой пример: Saving Key-Value Sets

Вы также можете реализовать некоторые константы, чтобы дать свои фиксированные значения.

Пример вашей кнопки (или то, что вы хотите, чтобы пользователь мог выбрать):

public void onButtonOption1Click(View v){ 
     //Save your value 
    SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
    SharedPreferences.Editor editor = sharedPref.edit(); 
    editor.putInt("Occupation",1); 
    editor.commit(); 
} 

Пример деятельности, где вы хотите, чтобы загрузить значение:

public void getPreference(){ 
    SharedPreferences sharedPref=getActivity().getPreferences(Context.MODE_PRIVATE); 
    int occupation_value =sharedPref.getInt("Occupation"); 
}