Can';似乎无法在parse中保存多个对象(Android)
我在将多个相关对象保存到databrowser时遇到一些问题 在这里,我试图在朋友之间建立一种关系,所以我创建了一个“friendsAdded”数组。目前,我可以创建用户添加朋友的单向关系 例如:Can';似乎无法在parse中保存多个对象(Android),android,parse-platform,Android,Parse Platform,我在将多个相关对象保存到databrowser时遇到一些问题 在这里,我试图在朋友之间建立一种关系,所以我创建了一个“friendsAdded”数组。目前,我可以创建用户添加朋友的单向关系 例如: protected void addfriend(int position) { // TODO Auto-generated method stub String kliquitId =(((List<KliquitUser>) userlist).get(positi
protected void addfriend(int position) {
// TODO Auto-generated method stub
String kliquitId =(((List<KliquitUser>) userlist).get(position).getObjectId());
ParseQuery<ParseUser> otheruser = ParseUser.getQuery();
otheruser.getInBackground(kliquitId, new GetCallback<ParseUser>() {
@Override
public void done(ParseUser otheruser, ParseException e) {
// TODO Auto-generated method stub
ParseUser user = ParseUser.getCurrentUser();
user.addUnique("friendsAdded", otheruser);
user.saveInBackground();
}
});
protectedvoid addfriend(int位置){
//TODO自动生成的方法存根
字符串kliquitId=((List)userlist.get(position.getObjectId());
ParseQuery otheruser=ParseUser.getQuery();
getInBackground(kliquitId,新的GetCallback()){
@凌驾
公共无效完成(ParseUser otheruser,parsee异常){
//TODO自动生成的方法存根
ParseUser=ParseUser.getCurrentUser();
user.addUnique(“friendsAdded”,otheruser);
user.saveInBackground();
}
});
问题就出在这里……
我想创建一个“双向关系”,每当一个添加朋友发生
因此,我似乎无法将当前解析用户添加到“添加的朋友”数组中
我试过了,但没用:
protected void addfriend(int position) {
// TODO Auto-generated method stub
String kliquitId =(((List<KliquitUser>) userlist).get(position).getObjectId());
ParseQuery<ParseUser> otheruser = ParseUser.getQuery();
otheruser.getInBackground(kliquitId, new GetCallback<ParseUser>() {
@Override
public void done(ParseUser otheruser, ParseException e) {
// TODO Auto-generated method stub
ParseUser user = ParseUser.getCurrentUser();
otheruser.addUnique("friendsAdded", user);
user.addUnique("friendsAdded", otheruser);
user.saveInBackground();
}
});
protectedvoid addfriend(int位置){
//TODO自动生成的方法存根
字符串kliquitId=((List)userlist.get(position.getObjectId());
ParseQuery otheruser=ParseUser.getQuery();
getInBackground(kliquitId,新的GetCallback()){
@凌驾
公共无效完成(ParseUser otheruser,parsee异常){
//TODO自动生成的方法存根
ParseUser=ParseUser.getCurrentUser();
otheruser.addUnique(“friendsAdded”,user);
user.addUnique(“friendsAdded”,otheruser);
user.saveInBackground();
}
});
有人知道吗
谢谢!用户表受解析保护,因为您不能修改其他用户对象,只能修改currentUser对象。从解析文档: 默认情况下,ParseUser类是安全的。ParseUser中存储的数据只能由该用户修改。默认情况下,任何客户端都可以读取数据 不允许使用您的行
otheruser.addUnique(“friendsAdded”,user);
,因为您正在修改与当前用户不同的用户对象
我相信正确的方法是使用关系而不是数组。你应该非常彻底地阅读解析文档-你将要寻找的很多答案都在文档中。阅读关系数据:for(int I=0;I
哦,我明白了,因为在我之前从事该项目的开发人员使用了一个数组。而我的iOS端使用的是相同的数据库表,因此如果我们确实更改了布局,就会出现一些数据库不一致的情况。那么有没有办法?或者没有办法?我知道的唯一其他方法是可以使用云代码函数来更改e其他用户
for ( int i = 0; i < imageArrayList.size(); i++) {
pos = i;
byte[] image = (getByteArray(imageArrayList.get(i)));
final ParseFile file = new ParseFile("abc.jpg", image);
final int finalPos = pos;
file.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
parseFiles.add(file);
if(finalPos == imageArrayList.size()-1)
{
ParseObject imagelist = new ParseObject("Images");
imagelist.put("refrence", form.getObjectId());
imagelist.put("imagesfile", parseFiles);
imagelist.saveEventually();
}
}
});
}