Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从其类使用SharedReference?_Android_Sharedpreferences - Fatal编程技术网

Android 如何从其类使用SharedReference?

Android 如何从其类使用SharedReference?,android,sharedpreferences,Android,Sharedpreferences,我在活动类中存储了一个来自微调器的值,是否可以在没有上下文的情况下获取该值 SharedReference.class GetSharedReferences出错在SP类中存储值的确切含义是什么?您需要如何处理该值 您可以轻松地将值存储在应用程序的SP中,并且它始终是可访问的。我觉得您应该将上下文传递到类的构造函数中,最好是应用程序上下文以避免内存泄漏,并在需要访问共享引用时使用它 大概是这样的: public class SomeClass{ private Context con;

我在活动类中存储了一个来自微调器的值,是否可以在没有上下文的情况下获取该值


SharedReference.class


GetSharedReferences出错

在SP类中存储值的确切含义是什么?您需要如何处理该值


您可以轻松地将值存储在应用程序的SP中,并且它始终是可访问的。

我觉得您应该将
上下文
传递到类的构造函数中,最好是应用程序上下文以避免内存泄漏,并在需要访问
共享引用时使用它

大概是这样的:

public class SomeClass{

  private Context con;

  public SomeClass(Context c){

     this.con = c;

  }

  public static int getPreferencedCurrency(){

        SharedPreferences prefs = con.getSharedPreferences(Constants.SHARED_PREFERENCES_NAME,Context.MODE_PRIVATE);
        return prefs.getInt(Constants.CURRENCY_PREFERRED,0);

    }
}
初始化类的实例时使用应用程序上下文:

SomeClass sc = new SomeClass(getApplicationContext());

真的我不明白吗?将你迄今为止尝试过的代码发布出来。
GetSharedReferences上的错误
请发布错误/如果有人可以这样尝试
PreferenceManager.GetDefaultSharedReferences(getBaseContext()).getInt(key,defValue)我可以很容易地从其他活动/片段中存储它,但是如何在没有上下文的类中获取它呢?您可以在MainActivity类中设置变量
public static
SomeClass sc = new SomeClass(getApplicationContext());