如何在 android 中更新解析服务器平台中的数据?

How to Update data in parse server platform in android?

我正在尝试更新解析服务器平台中的数据,但无法保存数据。它不显示任何错误日志或错误消息。

下面是我的保存代码


public void OnSubmit(View view) {


        ParseQuery<ParseObject> query = ParseQuery.getQuery("User");
       // ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("User"); //tried this, not working
       // query.whereEqualTo("username",ParseUser.getCurrentUser().getUsername()); //tried this but not working
        query.getInBackground("ZoMFWRvm4k", new GetCallback<ParseObject>() {
            @Override
            public void done(ParseObject object, ParseException e) {
                if (e == null){
                    object.put("name",editText.getText().toString());
                    object.saveInBackground(new SaveCallback() {
                        @Override
                        public void done(ParseException e) {
                            if (e == null){
                                Toast.makeText(EditPage.this, "Your Name saved successfully", Toast.LENGTH_SHORT).show();
                                Intent intent = new Intent(EditPage.this, ProfilePageActivity.class);
                                startActivity(intent);
                                //finish();
                            }else {
                                Toast.makeText(EditPage.this, "Oops... There is an error, please try again", Toast.LENGTH_SHORT).show();
                            }
                        }
                    });
                }
            }
        });
}


ParseQuery<ParseObject> 的帮助下,它应该可以工作,但在您的情况下,这并不奇怪。正如您在问题中提到的,您没有收到任何错误日志,所以我认为您的按钮点击没有给出任何指示。

即使我遇到这个问题所以我这样使用 尝试以不同的方式使用。这是代码:-


 ParseUser user = ParseUser.getCurrentUser();

 user.put("name",editText.getText().toString()); // we can put other for example email, birth place like this for updating

                user.saveInBackground(new SaveCallback() {
                    @Override
                    public void done(ParseException e) {
                        if (e==null){
                            Toast.makeText(EditPage.this, "Your Name saved successfully", Toast.LENGTH_SHORT).show();
                            Intent intent = new Intent(EditPage.this, ProfilePageActivity.class);
                            startActivity(intent);
                            finish();
                        }else {
                            Toast.makeText(EditPage.this, "Ops!! error", Toast.LENGTH_SHORT).show();
                        }
                    }
                });
}

ParseUser user = ParseUser.getCurrentUser(); 

通过上面这行代码你可以得到你当前的登录用户。