【问题标题】:Updating value in parse table更新解析表中的值
【发布时间】:2015-06-18 10:36:40
【问题描述】:

我在我的 android 应用程序中使用 parse.com 云。我想增加一个字段 我尝试了三种方式。

首先我尝试使用 parseQuery.get(id) 获取对象,但在使用 parseObject.increament() 后它没有找到要更新的对象。

ParseQuery<ParseObject> parseQuery = ParseQuery.getQuery("Waive");
        try {
            ParseObject object=parseQuery.get(id);

            object.increment("numberOfViews");


            object.saveInBackground(new SaveCallback() {

                @Override
                public void done(ParseException arg0) {
                    // TODO Auto-generated method stub
                    if(arg0==null){
                        Log.e("incremented", "by one");
                    }
                    else{
                        Log.e("not incremented", "by one");
                        arg0.printStackTrace();
                    }
                }
            });
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            Log.e("exception", e+"");
            e.printStackTrace();

        }

我使用的第二种方式。我尝试使用 ParseObject.increament,但它没有找到要更新的对象。

ParseQuery< ParseObject> query=new ParseQuery<ParseObject>("Waive");
        query.getInBackground(id, new GetCallback<ParseObject>() {

            @Override
            public void done(ParseObject object, ParseException e) {
                // TODO Auto-generated method stub
                Log.e("object id", object+"");
                if(e==null && object!=null){


                    object.increment("numberOfViews");
                    try {
                        object.save();
                    } catch (ParseException exp) {
                        // TODO Auto-generated catch block
                        Log.e("exception", exp.getMessage());
                        exp.printStackTrace();
                    }
                }

            }
        });
    }

我尝试的第三种方法,首先我得到该字段的值,然后将该值增加一并使用 parseObject.put 将该值插入表中

ParseQuery query=new ParseQuery("Waive"); query.getInBackground(id, new GetCallback() {

        @Override
        public void done(ParseObject object, ParseException e) {
            // TODO Auto-generated method stub
            Log.e("object id", object+"");
            if(e==null && object!=null){
                int tmp=(Integer)object.getNumber("numberOfViews");
                object.put("numberOfViews", tmp+1);
                try {
                    object.save();
                } catch (ParseException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                    Log.e("exception", e1.getMessage());
                    e1.printStackTrace();
                }


            }

        }
    });
}

but neither of these three is working please help me out.

【问题讨论】:

    标签: parse-platform


    【解决方案1】:

    这是由于权限问题。因为您正在尝试更新您未获得授权的值。通过在 parse.com 上编辑您的表安全性使其公开,使其公开可写以供其他用户更新

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-15
      • 1970-01-01
      相关资源
      最近更新 更多