Шаблон пользовательского интерфейса Android для сохранения частичной информации в базу данных - PullRequest
1 голос
/ 13 мая 2011

Я разрабатываю простое приложение, которое отслеживает расходы, которые я делаю в месяц. Расходы имеют название, сумму, а также категорию. Можно добавлять / удалять категории по желанию. Я храню категории и расходы в базе данных.

В настоящий момент я раскрываю функциональность добавления категорий, сохраняя editText и кнопку «Добавить категорию» в операции «Добавить расходы».

Итак, для пользовательского сценария, например, когда пользователь ничего не вводит о расходах, а просто добавляет категорию, я хочу, чтобы она была сохранена в базе данных.

Сохранение категории можно сделать немедленно в базе данных, используя AsyncTask для вызова помощника базы данных для вставки значения в таблицу.

В то же время я запутался в том, что мне следует добавить progressDialog, чтобы сообщить пользователю, что я что-то сохраняю, или позволить ему заполнить информацию в других полях.

Что такое UI-шаблон или обычно применяемые стратегии при сохранении частичной информации о записи в базе данных. Кроме того, я должен просто перейти к другой деятельности, если добавление категории в базу данных приводит к ошибке?

Кроме того, дополнительный вопрос, должен ли я поместить кнопку «Добавить категории» в действие, отличное от действия «Добавить расходы»?

1 Ответ

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

С http://developer.android.com/guide/practices/design/responsiveness.html:

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

Как было описано в исходной ситуации в этом посте, диалоговое окно прогресса, вероятно, не требуется.Возможно, рядом с сохраняемой записью может быть небольшой визуальный маркер, указывающий на состояние сохранения (это может быть «новый», «сохранение», «сохранен», «проблема / ошибка»).В случае ошибки при сохранении, если для пользователя, вероятно, важно сохранить запись, я определенно сделаю для пользователей очевидным, что возникла проблема, и предоставлю им шаги по исправлению ситуации.

Кроме того, обратите внимание, что во время хотя бы одного недавнего сеанса Google I / O 2011 (видео которого доступно по адресу http://www.youtube.com/googledevelopers), инженеры пользовательского интерфейса Android, включая парня, который создал официальное приложение Twitter,Рекомендуется ограничить пользовательский интерфейс блокировки, например, с помощью диалоговых окон выполнения, так как их чрезмерное использование может привести к неоптимальному взаимодействию с пользователем, из-за чего приложение перестает отвечать на запросы и медленно работает.

...