android - LeanCloud数据存储中的更新操作,遇到问题,求解
PHP中文网
PHP中文网 2017-04-17 13:27:55
[Android讨论组]

根据官方文档,自己做测试,在同一个例子中其他按钮的新建表或者查询都能实现,因此,Demo本身没有问题,能够实现和后台数据库的连接,但是在更新这块遇到问题,代码如下:

java    bt_update = (Button) findViewById(R.id.bt_main_update);
        bt_update.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {

                //这里的userInfo表之前已经建立过
                AVObject updateObject = new AVObject("userInfo");
                AVQuery<AVObject> upQuery = new AVQuery<AVObject>("userInfo");

                try {
                    //通过查询对应的objectId,获得AVObject对象
                    updateObject = upQuery.get("555566eee4b0a343c5be43b7");
                    //执行更新操作
                    updateObject.put("nickName", "测试更新");
                    //执行保存操作
                    updateObject.saveInBackground(new SaveCallback() {
                        @Override
                        public void done(AVException arg0) {
                            if (arg0 == null) {
                                System.out.println("--update successfully");
                            } else {
                                System.out.println("--update failed");
                            }
                        }
                    });
                } catch (AVException e) {
                    System.out.println("--update error");
                    e.printStackTrace();
                }

            }
        });

通过上述代码,并不能实现更新操作,而是显示update error,如下:

新手求解,各位大大 T_T

PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
伊谢尔伦

已解决,自己犯了个迷糊。又犯了“网络操作不能在MainThread中进行”的低级错误T_T
查询的get操作是网络操作,所以应该在后台进行,所以应该使用upQuery.getInBackground()方法。。。

嗯,涉及到网络操作,就应该多注意这点。。。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号