我正在使用Xamarin进行编码,并对应用程序设置有疑问。
是否可以进行应用程序范围的设置?我会举个例子:
我有一个地图应用程序。我有一个ListView,用户可以选择地图是使用街景,卫星视图还是默认视图。
取决于ListView中选择的项目取决于显示的地图视图。
在何处以及如何保存此选项,以便在整个应用程序中可以看到此值,当用户退出应用程序时,可以记住用户何时再次启动应用程序时此设置?
提前致谢
答案 0 :(得分:0)
我想你熟悉Java I / O和android基本概念。所以我走了:
对于Android中的数据持久性,您有两个主要解决方案:
我建议您使用文件系统,因为您实际上不需要使用关系约束来组织数据,并且您可能不必持续存在大量数据。
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);