Android 共享首选项无法正确保存数据
你好,我的应用程序中有3个活动,我有意在它们之间传输数据。我遇到的问题是,当我从3活动返回到主活动时,我对主活动的共享首选项会发生变化。我怀疑问题在于我的意图是重新启动,但我不确定。我试图让数据保持与我转到3活动时的数据相同。我的应用程序从活动1开始,然后转到主活动,最后,如果单击按钮,则转到第三个活动获取一些数据并返回到主活动我遇到的问题是,我从第一个活动获取的数据在我从第三个活动返回时重新启动。当我在活动之间移动数据时,我使用intent 传输意图活动1的我的代码:Android 共享首选项无法正确保存数据,android,android-intent,Android,Android Intent,你好,我的应用程序中有3个活动,我有意在它们之间传输数据。我遇到的问题是,当我从3活动返回到主活动时,我对主活动的共享首选项会发生变化。我怀疑问题在于我的意图是重新启动,但我不确定。我试图让数据保持与我转到3活动时的数据相同。我的应用程序从活动1开始,然后转到主活动,最后,如果单击按钮,则转到第三个活动获取一些数据并返回到主活动我遇到的问题是,我从第一个活动获取的数据在我从第三个活动返回时重新启动。当我在活动之间移动数据时,我使用intent 传输意图活动1的我的代码: Bund
Bundle CIW = new Bundle();
CIW.putInt("one", int1);
CIW.putInt("two", int2);
CIW.putDouble("double", double);
Intent a = new Intent(Must.this, Main.class);
a.putExtras(CIW);
startActivity(a);
在我的主要活动中获取捆绑包的代码(在我的创建方法中):
我的共享首选项代码(暂停时):
我的共享首选项代码(在简历上):
传输意图活动3的我的代码:
Bundle number = new Bundle();
number.putInt("three", int3);
Intent a = new Intent(Card.this, Main.class);
a.putExtras(number);
您的共享首选项文件(名称)始终相同,对吗 如果您正在使用来自不同活动/服务/意图/的共享首选项。。。您应该将其与模式模式多进程(常量值int=4)一起使用。否则,文件将被锁定,并且一次只能有一个进程写入它 因此,当您在多进程应用程序中调用共享首选项时,请执行以下操作:
SharedPreferences preferences = this.getSharedPreferences("myapp",4);
在android 2.3之前,所有版本上都会启用MODE_MULTI_进程,但必须严格调用后者!官方文件说:
操作模式。默认操作使用0或MODE_PRIVATE,MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE控制权限。如果多个进程对同一个SharedReferences文件进行变异,也可以使用位模式多进程。针对姜饼(Android 2.3)及以下版本的应用程序中,MODE_MULTI_进程始终处于打开状态,而在更高版本中,默认情况下处于关闭状态
首先,请不要用大写字母开始变量名。这会使您的代码难以阅读。至于你的问题,很难理解你的问题是什么。请编辑您的问题,包括预期结果和您实际得到的结果。你说的“重新启动”或“更改”或“重新启动”是什么意思?你忘记提交了吗?不,我只是在最后才提交
SharedPreferences settings = PreferenceManager
.getDefaultSharedPreferences(getApplicationContext());
int1 = settings.getInt("one", int1); //the rest of the variable
Bundle number = new Bundle();
number.putInt("three", int3);
Intent a = new Intent(Card.this, Main.class);
a.putExtras(number);
SharedPreferences preferences = this.getSharedPreferences("myapp",4);