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