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 设计:用户选择的参数用于整个应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Android:以编程方式更改整个应用布局方向

Android跨进程通信

Android跨进程通信-mmap函数

android中的跨进程是啥意思

数据库设计入门

有哪些优秀的 Android 应用开源项目、特效、设计资料推荐?