2013-03-07 1 views
0

Я создаю мобильное приложение для Android, где пользователи могут находить ближайшие места вокруг них, а затем, просматривая эти места, им разрешено видеть детали, а также оценивать их. Кроме того, им разрешено добавлять новые места на карту. Я хочу быть в состоянии снизить вероятность того, что люди добавят фальшивые ролики, насколько это возможно, и поэтому я хочу внедрить систему рейтингов, которая является еще одним уровнем безопасности для поддельных мест.Как мне создать/разработать систему рейтингов для моего приложения Android?

Я не уверен, как мне создавать таблицы базы данных. Прямо сейчас у меня только:

Location: name, address, type, terrain, difficulty, lng, lat, rating. 

Столбец рейтинги только допустимые значения: 1, 2, 3, 4, 5.

Что еще мне нужно, чтобы сумма рейтингов?

После проектирования таблиц. Я хочу узнать наиболее подходящий способ рассчитать средние оценки и затем удалить их на основе их рейтингов. Проблема заключается в том, что если в одном месте 1 голос с рейтингом 1, который на 100% отрицательный, то он будет считаться плохим, если у aa-места есть голос 100 с 90 голосами с 1 и 10 голосами с 5. Конечно, первый следует считать хуже, а затем удалить. Как мне противостоять этому?

+0

http://stackoverflow.com/q/1433425/752320 – Geobits

ответ

0

Я бы сказал, что делает отдельную таблицу, содержащую внешние ключи идентификатор местоположения и идентификатор пользователя, представившего отзыв будет полезным (а также там рейтинг, конечно). Таким образом, пользователи могут отредактировать свой обзор позднее.

0

Существует множество способов сделать это. Более сложные системы мониторинга тенденций проверяют голоса и просматривают курс за последний день, час, минуту и ​​т. Д.

Однако для простой системы вы можете посмотреть общее количество голосов и средний рейтинг. Вы можете не заботиться о сумме (и вы можете получить ее в любом случае от двух других).

Чтобы обновить рейтинг:

average = ((average*total)+new)/(sum+1); 
total ++; 

Когда вы смотрите на их удаление вы хотите установить порог для минимального количества голосов (общих), а затем удалить на основе среднего рейтинга. 1 плохого голосования, вероятно, недостаточно, насколько вы думаете, зависит от ваших уровней использования.

Для других ответов: PHP/MySQL - algorithm for "Top Rated"