Предложения по предоставлению отзывов пользователей о текущей работе - Android 3.0? - PullRequest
1 голос
/ 16 мая 2011

В моем приложении мне нужно выполнить много длительных задач.Обычно они получают доступ к сети и выполняют некоторые действия на удаленном сервере.Очевидно, что это асинхронные задачи.Теперь возникает вопрос: что считается удобным для пользователя способом уведомления пользователя о том, что что-то происходит?

Я использовал решение, которое открывает модальное диалоговое окно с неопределенным, анимированным загрузочным кругом по умолчанию, вращающимся вокруг, пока задача выполняется.Это просто ужасно, пользователь не может взаимодействовать с приложением в это время - диалоговое окно является модальным - и оно чертовски навязчиво.

Какое решение вы, ребята, предлагаете для обеспечения обратной связи с пользователем:

A.асинхронная задача началась с нажатия кнопки на элемент списка ListView?B. Асинхронная задача началась с нажатия на пункт меню?(из ActionBar или обычного меню это не имеет значения)

Я бы предпочел, чтобы решение было не навязчивым, но пользователь должен заметить, что что-то действительно происходит.

Ответы [ 3 ]

2 голосов
/ 16 мая 2011

В большинстве приложений, которые я видел, используется неопределенный индикатор выполнения, расположенный где-то в интерфейсе пользователя. Таким образом, пользователь видит, что что-то работает, но все же может взаимодействовать со всеми другими разделами пользовательского интерфейса в действии.

1 голос
/ 16 мая 2011

Для A я бы, вероятно, оставил место в элементе ListView для индикатора выполнения.Затем обновите индикатор выполнения для этого элемента.

Для B, я думаю, что что-то вроде текущего уведомления с индикатором выполнения будет довольно идеальным решением.

0 голосов
/ 16 мая 2011
В моем приложении мне нужно выполнить много длительных задач.Обычно они получают доступ к сети и выполняют некоторые действия на удаленном сервере.Очевидно, что это асинхронные задачи.

Из описания это может быть не тот случай, когда использование AsyncTask является правильным подходом.Что если действие приложения, которое запустило AsyncTask, остановлено или уничтожено, но передача данных выполнена на 95%?Следует ли отказаться от прогресса?Была ли транзакция атомарной?

Я настоятельно рекомендую посмотреть презентацию Вирджила Добжански Google I / O 2010 по клиентским приложениям Android REST , в которой он описывает разработку приложения для обработки таких данных и сетевых коммуникаций. Он является автором официального приложения Twitter для Android.

...