Android 设计:用户选择的参数用于整个应用程序
Posted
技术标签:
【中文标题】Android 设计:用户选择的参数用于整个应用程序【英文标题】:Android design: user-selected parameters for use throughout app 【发布时间】:2015-01-29 15:59:56 【问题描述】:我正在使用 android Studio 创建我的第一个 Android 游戏,并且有一个关于在整个应用程序中选择和维护参数的设计问题。
从主菜单中,用户将选择“新游戏”,这将打开一个名为“新游戏参数”的活动,用户可以在其中从三个类别中选择一个选项:
-
职业(职业1、职业2、职业3等)
取走物品(物品 1、物品 2、物品 3 等)
已执行的操作(操作 1、操作 2、操作 3 等)
一旦游戏开始,用户选择的任何值都不会因特定的通关而再次改变。根据选择,会发生不同的事件,因此我需要在整个游戏中引用这些参数。
我的问题是,最好的设计方法是什么?我一直在查看大量有关 BaseAdapter、ArrayAdapter、ListAdapter、Preference、SharedPreference、持久数据的文档,其中很多似乎是可行的,但有时它有点让人不知所措和困惑。我以前从这里得到了很多很好的信息,感谢大家提供的任何帮助。
【问题讨论】:
【参考方案1】:只保存几个值(如您的,三个带值的参数)的最简单方法是 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");
【讨论】:
以上是关于Android 设计:用户选择的参数用于整个应用程序的主要内容,如果未能解决你的问题,请参考以下文章