问题描述
我正在尝试更新解析服务器平台中的数据,但无法保存数据。它不显示任何错误日志或错误消息。
这是我的以下保存代码
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();
借助以上代码行,您可以获得当前的登录用户。