Я не согласен с mbaird и jqpubliq по одной простой причине: они предполагают, что пользователь использует сенсорный экран.
Большинство устройств Android имеют сенсорные экраны. Не все будут. Например, есть фирмы, разрабатывающие Android-приставки (например, Android-эквиваленты Roku или Boxee Box). Большинство телевизоров не являются сенсорными экранами.
Теперь, если вы хотите, чтобы ваше приложение можно было использовать только с сенсорным экраном - и вы установили соответствующие элементы <uses-configuration>
в манифесте - onStopTrackingTouch()
может быть надежным для обнаружения изменения прогресса.
Лично я бы обновил базу данных ни на onProgressChanged()
, ни на onStopTrackingTouch()
, но в тот момент, когда пользователь делает что-то положительное, чтобы указать, что он хочет сохранить содержимое текущего экрана - нажав кнопку НАЗАД, нажав кнопку Сохранить кнопка и т. д. Но я, конечно, не буду полагаться на onStopTrackingTouch()
, если вы не разрабатываете приложение только для сенсорного экрана.