我不能从我的模块中引用SharedPreferences

时间:2015-02-19 03:19:58

标签: android sharedpreferences

我在项目中创建了一个模块。该模块的名称为" Connector"。现在我在MainActivity中创建

    private SharedPreferences sPref;
    private SharedPreferences.Editor editor;
    sPref = getPreferences(MODE_PRIVATE);

并填写数据。

editor.putString("sessionId", user.getSession().getSession());
        editor.putString("userUuid", user.getUuid());
        editor.apply();

现在我需要从模块中的SharedPreferences"连接器"中获取数据。问题是模块"连接器"连接到应用程序

 compile project(':connector')

和其中的类无法访问项目中的类。我该如何解决?

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.google.code.gson:gson:2.3.1'
    compile 'com.facebook.android:facebook-android-sdk:3.22.0'
    compile 'com.google.android.gms:play-services:6.5.87'
    compile project(':balanced-android')
    compile project(':connector')
}

3 个答案:

答案 0 :(得分:0)

getPreferences检索SharedPreferences对象,以访问您的活动MainActivity私有的首选项。这只是通过传入此活动的类名作为首选项名称来调用底层的getSharedPreferences(String,int)方法。

您可以使用getSharedPreferences。

https://developer.android.com/reference/android/app/Activity.html

了解详情

答案 1 :(得分:0)

正确使用共享首选项是这样的:

preferences = getSharedPreferences("any string", Context.MODE_PRIVATE);

你需要初始化编辑器,如:

editor = preferences.edit();

将值放入编辑器后,您必须提交编辑器:

editor.commit();

希望它有效。

答案 2 :(得分:0)

可以使用以下内容

  SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
    String value = sharedPreferences.getString("userUuid","")