繁体   English   中英

Android应用程序记住设置

[英]Android application remember settings

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

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

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

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

我可以在何处以及如何保存此选择,以使此值在整个应用程序中可见,并且当用户退出应用程序时,可以记住该设置,以确保用户再次启动应用程序时?

提前致谢

我想您对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
    }
}

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

如果您需要一些说明,请在下面留下评论。

是的,这是可能的,而且非常容易。 通常,您使用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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM