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

1

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

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

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

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

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

Теги:
user-interface
android-3.0-honeycomb

3 ответа

2

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

1

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

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

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

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

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

  • 0
    Спасибо за предупреждение, я знаю об этих проблемах, и я использую как IntentService для важных задач, так и AsyncTasks для менее важных, которые необходимо прекратить, когда действие будет уничтожено.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню