我正在使用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,只发现了一个可以用来选择某些字段的函数,但是它说对于保存无效。
是否有这样的方法仅保存类的某些字段?还是应该使用一些其他模型来防止覆盖?

最佳答案

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

class Answer {
    String answer;
    ....
}




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


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

关于java - 更新某些字段以防止覆盖,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15721828/

10-08 22:30