0

我正在使用 StackMob 开发一个 Android 应用程序。现在我想保存一个对象,但不是他的所有属性,让我们以这个例子为例。

class A extends StackMobModel
{
    String UserOneInput;
    String UserTwoInput;
}

现在我有两个人同时使用 A 类的一个实例。用户一将他的信息放在 UserOneInput 中,用户二在 UserTwoInput 中。现在,如果用户一保存命中信息,而用户二已经获取了该对象,情况将是

class A extends StackMobModel
{
    String UserOneInput = "User one his input";
    String UserTwoInput = null;
}

对于用户一,而用户二有

class A extends StackMobModel
{
    String UserOneInput = null;
    String UserTwoInput = null;
}

现在,如果玩家二保存了他的数据,它就按照他的情况保存了,所以我们得到

class A extends StackMobModel
{
    String UserOneInput = null;
    String UserTwoInput = "User two input";
}

用户一他的输入被覆盖。我可以在保存之前再次获取该对象,但如果您在移动网络上使用它,延迟仍然会导致同样的问题。(用户二在使用一个提取和保存的时间之间保存他的信息)

我查看了javadoc,只找到了一个可以用来选择某些字段的函数,但它说这对保存不起作用。有没有这样一种方法可以只保存类的某些字段?或者我应该使用一些不同的模型来防止覆盖?

4

1 回答 1

1

该类不知道谁是所有者,以便知道要保存哪一个 String。
这个类必须分解为

class Answer {
    String answer;
    ....
}

class Question {
    Answer userOne;
    Answer userTwo;
    ....
}

每个用户都可以访问并保存自己的答案,并且问题知道用户的答案。

于 2013-03-30T19:42:23.927 回答