我在将多个相关对象保存到数据库中时遇到了一些问题。
这里我试图在朋友之间建立关系,所以我正在创建一个“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();
}
});
所以这是问题......
每当添加好友发生时,我想创建一个“双向关系”......
所以,我似乎无法将当前的解析用户添加到“已添加的朋友”数组中。
我试过了。但它不起作用:
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();
}
});
有没有人有任何想法?
谢谢!
答案 0 :(得分:1)
用户表由Parse保护,因为您无法修改另一个User对象,您只能修改currentUser对象。来自Parse文档:
“ParseUser类默认是安全的。存储在ParseUser中的数据只能由该用户修改。默认情况下,任何客户端仍然可以读取数据。”
由于您尝试修改与当前用户不同的用户对象,因此不应允许您的行otheruser.addUnique("friendsAdded", user);
。
我相信正确的方法是使用Relation而不是Array。你应该非常彻底地阅读Parse文档 - 你将会在文档中找到很多答案。阅读关系数据:https://parse.com/docs/android_guide#objects-pointers
答案 1 :(得分:0)
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();
}
}
});
}