Can';似乎无法在parse中保存多个对象(Android)

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

我在将多个相关对象保存到databrowser时遇到一些问题

在这里,我试图在朋友之间建立一种关系,所以我创建了一个“friendsAdded”数组。目前,我可以创建用户添加朋友的单向关系

例如:

 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();
                                        }
                                    }
                                });


                            }