Android 正在更新parse.com中的现有记录,但未对其进行复制
我正在parse.com演示中工作,我想从parse.com中的表更新一个现有条目。每次它都会重复输入。我试过下面的内容Android 正在更新parse.com中的现有记录,但未对其进行复制,android,parse-platform,Android,Parse Platform,我正在parse.com演示中工作,我想从parse.com中的表更新一个现有条目。每次它都会重复输入。我试过下面的内容 ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("MQOD"); // query.orderByDescending("createdAt"); query.whereEqualTo("DeviceId", android_id);
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("MQOD");
// query.orderByDescending("createdAt");
query.whereEqualTo("DeviceId", android_id);
// query.toString();
System.out.println("::::::::::::::::::QUERY:::::::::::::::"
+ query);
try {
ob = query.find();
} catch (com.parse.ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
testObject.put("DeviceId", android_id);
testObject.put("InstallationDate", subscriptionDate);
testObject.put("Subscription", "Done");
testObject.put("NextSubscription", upGradeDate);
try {
testObject.save();
} catch (com.parse.ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
// Purchase error...!!
System.out.println("::::::::::::::::::::::::Purchase consumehas failed:::::::::::::::::::::");
}
}
ParseQuery查询=新的ParseQuery(“MQOD”);
//query.orderByDescending(“createdAt”);
query.whereEqualTo(“设备id”,安卓id);
//query.toString();
System.out.println(“”:查询:
+查询);
试一试{
ob=query.find();
}捕获(com.parse.ParseException e1){
//TODO自动生成的捕捉块
e1.printStackTrace();
}
testObject.put(“DeviceId”,android);
testObject.put(“InstallationDate”,subscriptionDate);
testObject.put(“订阅”、“完成”);
testObject.put(“NextSubscription”,upGradeDate);
试一试{
testObject.save();
}catch(com.parse.parsee){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}否则{
//购买错误。。。!!
System.out.println(“:::::::::::::购买失败:::::::::”;
}
}
从您的代码来看,您似乎没有使用标准字段idobjectID
(这是所有解析类表中使用的官方id字段),而是使用DeviceId
(我想它是您的自定义字段)
否则,您必须将您的设备ID
设置为唯一字段,并且为了使其成为可能,您必须在“beforeSave”解析触发器中检查新的传入设备ID,并检查元素是否已经存在(另请参见此:)
因此,现在您每次都获得一个双副本是正常的,因为它被视为插入而不是更新(因为您没有指定objectId
)
希望能有所帮助谢谢你,卢卡……你救了我……)