Android应用程序记住设置

时间:2014-02-01 03:06:11

标签: android google-maps xamarin remember-me appsettings

我正在使用Xamarin进行编码,并对应用程序设置有疑问。

是否可以进行应用程序范围的设置?我会举个例子:

我有一个地图应用程序。我有一个ListView,用户可以选择地图是使用街景,卫星视图还是默认视图。

取决于ListView中选择的项目取决于显示的地图视图。

在何处以及如何保存此选项,以便在整个应用程序中可以看到此值,当用户退出应用程序时,可以记住用户何时再次启动应用程序时此设置?

提前致谢

2 个答案:

答案 0 :(得分:0)

我想你熟悉Java I / O和android基本概念。所以我走了:

对于Android中的数据持久性,您有两个主要解决方案:

  • SQLite数据库
  • 文件系统

我建议您使用文件系统,因为您实际上不需要使用关系约束来组织数据,并且您可能不必持续存在大量数据。

Android文档非常清楚如何保存文件: http://developer.android.com/training/basics/data-storage/files.html

我建议您创建一个包含HashMap属性的Setting类:

public class Settings implements Parcelable{
    public static HashMap<String,String> settings;

    public static void readSettings(){
        //Here you read your settings file and you fill your hashmap
    }

    public static void writeSettings(){
        //Here you iterate through your hashmap and you write your setting files
    }
}

每个活动都可以访问设置,因为属性/方法是静态的。设置也将通过每个活动进行同步(如果您在一个活动中更改设置,则会注意到其他每个活动)。

如果您需要澄清,请在下面留言。

答案 1 :(得分:0)

是的,这是可能的,也很容易。通常使用SharedPreferences保存简单的应用程序设置。可以从应用程序的任何位置读取它们。

写作。

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
Editor editor = sp.edit();
editor.putBoolean("someBoolean", true);
editor.putString("someString", "string");
editor.commit();

阅读

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
boolean someBoolean = sp.getBoolean("someBoolean", false);
boolean someString = sp.getString("someString", null);