更新ParseUser字段

时间:2015-01-23 22:50:20

标签: java android sdk parse-platform processing

我正在尝试更新ParseUser中的字段,我正在使用外部库来使用Parse和Java。 即使我得到ParseUser对象并且可以使用getEmail(),getUsername()之类的函数,setEmail(“random@gmail.com”),put(“friends”,list),setUsername(“bom”)等函数也不会不行。

关于如何解决这个问题的任何想法?

void updateParse(int id){
  ParseQuery<ParseUser> query = ParseQuery.getQuery(ParseUser.class);
  query.whereEqualTo("alikeId", 2);
  query.findInBackground(new FindCallback<ParseUser>() {
    public void done(List<ParseUser> results, parse4p.ParseException e) {
      if ( results == null) {
        println("Name not found within the class");
      } else {
        ParseUser temp = results.get(0);
        temp.setEmail("friends@net.com");

          }
        }
      }
      );    

}

2 个答案:

答案 0 :(得分:2)

您的代码的第一个问题是即使您设置了电子邮件,也从未实际运行temp.saveInBackground(),因此解析数据库不会被更新。

更重要的是,Parse在其User类上具有默认安全性,只允许您编辑当前登录用户的值。因此,即使您在当前上下文中使用temp.saveInBackground(),它也不会起作用,因为User类的安全性不允许它。

答案 1 :(得分:0)

您可以尝试以下示例代码来更新parseUser:

ParseUser user = ParseUser.getCurrentUser();
user.increment("logins");
user.saveInBackground(new SaveCallback() {
  public void done(ParseException e) {
    if (e != null) {
      // Saved successfully
    } else {
      // ParseException
    }
  }
});