我的活动类中有两个共享首选项实例。我用来检索已存储在共享首选项中的数据的一个实例。我尝试将新数据集存储到另一个文件中的其他实例,我将从api中检索。我们可以这样做,因为空值存储在共享首选项中。
以下是我的代码的一部分:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);){
..........
SharedPreferences sharedPreferences = getSharedPreferences("User",Context.MODE_PRIVATE);
email = sharedPreferences.getString("email",DEFAULT);
//some piece of code........
setdata();//in this method I'm initializing the variables
SharedPreferences sharedPreferences2 = getSharedPreferences("File",
Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences2.edit();
editor.putString("a",a);
editor.putString("b",b);
editor.putString("c",c);
editor.putString("d",d);
editor.putString("e",e);
editor.commit();
}
public void setData(){
a="hello";
b="world";
c="hello";
d="world";
e="hello";
}
所有这些都在我的活动类的onCreate方法中。 a,b,c,d,e是全局变量,我在该类的其他方法中初始化。我在实现共享首选项之前在onCreate方法中调用方法。但是存储了空值。
答案 0 :(得分:1)
您已回答了问题...您发布的代码位于活动的onCreate方法中,a,b,c,d,e是全局变量。
因此,当活动开始时,它们具有空值。
在初始化a,b,c,d,e的值之后,您需要执行代码以保存值,这是在从API接收数据之后。