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

Posted

技术标签:

【中文标题】如何在 android 的解析服务器平台中更新数据?【英文标题】:How to Update data in parse server platform in android? 【发布时间】:2021-07-22 12:57:51 【问题描述】:

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

这是我的以下保存代码


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();
                            
                        
                    );
                
            
        );



【问题讨论】:

【参考方案1】:

ParseQuery&lt;ParseObject&gt; 的帮助下,它应该可以工作,但在你的情况下,这并不奇怪。正如您在问题中提到的,您没有收到任何错误日志,所以我认为您的按钮单击没有给出任何说明。

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


 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(); 

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

【讨论】:

以上是关于如何在 android 的解析服务器平台中更新数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript SDK 更新解析平台中的用户类?

解析推送不适用于更新现有的 android 应用程序

如何在 android 中解析来自 url 或 restful 服务的大量 JSON 数据?没有 GSON

如何从 IntentService 收集信息并更新 Android UI

在 Android 模拟器设置中 - Google Play 服务版本无法解析

如何在 android 应用程序中仅从服务器获取更新的数据?