Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更新ParseUser字段_Java_Android_Sdk_Parse Platform_Processing - Fatal编程技术网

Java 更新ParseUser字段

Java 更新ParseUser字段,java,android,sdk,parse-platform,processing,Java,Android,Sdk,Parse Platform,Processing,我试图更新ParseUser中的一个字段,并使用一个外部库使用Java进行解析。 尽管我得到了ParseUser对象,并且可以使用诸如getEmail()、getUsername()之类的函数,但是setEmail(“random@gmail.com),放置(“朋友”,列表),设置用户名(“bom”)不起作用 有没有办法解决这个问题 void updateParse(int id){ ParseQuery<ParseUser> query = ParseQuery.getQuer

我试图更新ParseUser中的一个字段,并使用一个外部库使用Java进行解析。 尽管我得到了ParseUser对象,并且可以使用诸如getEmail()、getUsername()之类的函数,但是setEmail(“random@gmail.com),放置(“朋友”,列表),设置用户名(“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");

          }
        }
      }
      );    

}
void updatepasse(int-id){
ParseQuery=ParseQuery.getQuery(ParseUser.class);
查询:whereEqualTo(“alikeId”,2);
findInBackground(新的FindCallback(){
public void done(列出结果,parse4p.ParseException e){
如果(结果==null){
println(“在类中找不到名称”);
}否则{
ParseUser temp=results.get(0);
临时设置电子邮件(“friends@net.com");
}
}
}
);    
}

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

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

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


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

扩展ParseUser并向其添加您自己的方法和字段。请看这个例子:ParseUser必须首先经过身份验证,然后才能更新。我明白了。您知道我是否有办法覆盖用户类的安全设置吗?抱歉,此响应非常晚,Stackoverflow没有让我知道您的评论。您可以通过双击ACL列值来更改用户的权限。但是,我建议在执行此操作时要小心,因为用户类周围的安全保护已经完成,以尽可能保持个人信息的安全,更改权限可能会改变这一点。