Я не мог придумать, как лучше всего сформулировать свой вопрос, поэтому то, что вы думаете, что я спрашиваю, вероятно, не то, что я спрашиваю. Представьте, что у меня есть три работающих приложения, но потребности этого четвертого немного отличаются, поэтому я прошу совета / лучших практик, а не о том, как написать оператор SQL, закодировать список, настроить ячейку просмотра или как привязать к модели данных. У меня есть все это.
Версия TLDR:
Что мне нужно, так это разумный способ узнать, когда пользователь закончит вводить свои данные, чтобы я мог отправить их на свой сервер.
Я знаю, что есть люди, которые решили эту проблему, поэтому я прошу вашего совета. Если вы тоже не хотели делать сохранения при каждом нажатии клавиши, мне особенно интересны ваши рекомендации.
Вот чуть более подробная версия:
Я пишу сопутствующее приложение для части нашего настольного программного обеспечения, которое использует проприетарный сервер данных для хранения своих данных, к которым я могу получить доступ с мобильного устройства. В моих предыдущих приложениях у меня был полный экран элементов управления. Пользователь вводит/изменяет данные, и я знаю, что нужно сохранить их в моей локальной таблице sqlite, когда они выходят с экрана. По сути, это транзакционная модель, и я загружаю данные на наш сервер только тогда, когда они нажимают для этого кнопку. Работает отлично.
Однако для этого приложения вместо того, чтобы вводить информацию на экране, пользователь просто вводит числа в список. Подумайте об инвентаризации: у пользователя есть список продуктов и их количества, и они обновляют количество, чтобы оно соответствовало тому, что у него есть. Пользователь не будет часто покидать экран ввода данных и, скорее всего, выключит устройство или выкинет приложение из памяти, не «возвращаясь назад», поэтому в моих моделях данных могут быть несохраненные данные.
У меня есть поля ввода в списке. Мне нужно отправить введенные данные в мою таблицу sqlite, а затем на наш проприетарный сервер данных. Я бы подумал сделать это из установщика свойств в моей модели данных, но, к сожалению, это вызывается, когда модель данных изначально привязана, И при каждом нажатии клавиши.
Я знаю, что есть много людей, которые закодировали ввод данных в виде списка, я прочитал все сообщения, чтобы понять, как работают ячейки просмотра. В основном я использую элементы управления Entry и пробовал использовать TextChanged, Completed и Unfocused. У каждого есть какая-то проблема, которая делает его нежелательным решением «из коробки». У меня есть некоторые идеи и я знаю, как частично решить мою проблему, но я надеюсь, что у кого-то есть решение намного лучше, чем моя коллекция маленьких лайфхаков.
Очевидно, есть масса деталей (и сложности), которые я упускаю. Я использую архитектуру view-viewmodel-model, но не использую MVVM или любую подобную структуру. Мое решение должно быть в «ванильных» формах Xamarin.
Большое вам спасибо за вашу помощь!