Разбор: +1 к числовому столбцу для оценки.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Разбор: +1 к числовому столбцу для оценки.

Сообщение Anonymous »

Мое приложение для Android имеет очень простую систему оценок «люблю или ненавижу». Я использую Parse для оценок.
Все в порядке с точки зрения запроса Parse на предмет количества оценок, а также анализа новых оценок.
Проблема, с которой я столкнулся, заключается в следующем: я не нашел способа в Parse добавить +1 к числовому столбцу, поэтому я получаю текущее значение рейтинга, +1 к этому числу, а затем использую метод Parse Put, чтобы записать его обратно.
Это кажется нормальным, но если 2 пользователя откроют приложение через 1 секунду после другого, они оба увидят рейтинг 8, затем оба нажмут +1, он получит значение рейтинга (8) для пользователя A, от +1 до 8 = 9, а затем напишет 9 обратно.
Через 1 секунду пользователь B сделает то же самое, на его устройстве все еще хранится значение 8, поэтому его рейтинг также будет 8 +1 = 9, где и должно было быть. 10.
Итак, мой вопрос: есть ли способ добавить +1 к числовому столбцу в Parse?
Если нет, я добавлю метод getRatings перед оценкой пользователя, чтобы он должен был получить последнее значение, но просто надеялся уменьшить пропускную способность.
Спасибо.
Адам
public void getRatings() {
// query to get love it/hate it from Parse
// we are only querying to get the first in background
// because we know there is only one we want
ParseQuery query = ParseQuery.getQuery("ratings");
query.whereEqualTo("Id", id);
query.getFirstInBackground(new GetCallback() {
@Override
public void done(ParseObject object, ParseException error) {
if (object != null) {
//if the show has been rated before
loveIt = object.getInt("loveIt");
hateIt = object.getInt("hateIt");
retreivedObject = object;
parseId = object.getObjectId();
//hide progress bar
mProgressBar.setVisibility(View.INVISIBLE);
}
else
{
//if the show has not been rated before
loveIt=0;
hateIt=0;
//hide progress bar
mProgressBar.setVisibility(View.INVISIBLE);
}
}
});
}


Подробнее здесь: https://stackoverflow.com/questions/286 ... for-rating
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»