Android 设计:用户选择的参数供整个应用程序使用
Android design: user-selected parameters for use throughout app
我正在使用 Android Studio 为 Android 创建我的第一个游戏,并且有一个关于在整个应用程序中选择和维护参数的设计问题。
在主菜单中,用户会 select 'New Game',这会打开一个名为 'New Game Parameters' 的 Activity,他们会在其中 select 一个选项三个类别中的每一个:
- 职业(职业1、职业2、职业3等)
- 已取物品(第 1 项、第 2 项、第 3 项等)
- 执行的操作(操作 1、操作 2、操作 3 等)
一旦游戏开始,用户 select 的任何值都不会针对该特定游戏再次更改。根据选择,会发生不同的事件,因此我需要在整个游戏中引用这些参数。
我的问题是,为此设计的最佳方式是什么?我一直在查看有关 BaseAdapter、ArrayAdapter、ListAdapter、Preference、SharedPreference、持久数据的大量文档,其中很多看起来是可行的,但有时会让人不知所措和困惑。我以前从这里得到了很多有用的信息,感谢大家提供的任何帮助。
仅保存几个值(像您的,三个带值的参数)的最简单方法是 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();
}
要加载值的 activity 示例:
public void getPreference(){
SharedPreferences sharedPref=getActivity().getPreferences(Context.MODE_PRIVATE);
int occupation_value =sharedPref.getInt("Occupation");
}
我正在使用 Android Studio 为 Android 创建我的第一个游戏,并且有一个关于在整个应用程序中选择和维护参数的设计问题。
在主菜单中,用户会 select 'New Game',这会打开一个名为 'New Game Parameters' 的 Activity,他们会在其中 select 一个选项三个类别中的每一个:
- 职业(职业1、职业2、职业3等)
- 已取物品(第 1 项、第 2 项、第 3 项等)
- 执行的操作(操作 1、操作 2、操作 3 等)
一旦游戏开始,用户 select 的任何值都不会针对该特定游戏再次更改。根据选择,会发生不同的事件,因此我需要在整个游戏中引用这些参数。
我的问题是,为此设计的最佳方式是什么?我一直在查看有关 BaseAdapter、ArrayAdapter、ListAdapter、Preference、SharedPreference、持久数据的大量文档,其中很多看起来是可行的,但有时会让人不知所措和困惑。我以前从这里得到了很多有用的信息,感谢大家提供的任何帮助。
仅保存几个值(像您的,三个带值的参数)的最简单方法是 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();
}
要加载值的 activity 示例:
public void getPreference(){
SharedPreferences sharedPref=getActivity().getPreferences(Context.MODE_PRIVATE);
int occupation_value =sharedPref.getInt("Occupation");
}