Reputation: 1226
I am using parse.com cloud in my android application. i want to increase a field by one I tried using three ways.
first i tried getting object using parseQuery.get(id) but it gives no object found for update after using 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();
}
second way i used.i tried using ParseObject.increament but it gives no object found for update.
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();
}
}
}
});
}
third way i tried ,first of all i get the value of that field then increamented that value by one and inserted that value in table by using parseObject.put
ParseQuery< ParseObject> 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.
Upvotes: 3
Views: 117
Reputation: 1226
It is due to the permission issues. Because you are trying to update a value you are not authorized for. Make it public by editing your table security on parse.com make it public writable to update by another user too
Upvotes: 2