У меня есть несколько вопросов о том, как лучше разработать crud-приложение (в частности, операцию удаления) в базовом приложении Android CRUD.
Рабочий процесс, который я использую, — это RecyclerView в моей MainActivity, и когда я нажимаю на потрясающую работу, я перехожу к новой активности и обрабатываю там операцию «Добавить». То же самое касается операции редактирования: когда я щелкаю элемент в списке, он переходит к новому действию, и я обрабатываю удаление там.
Проблема с операцией удаления заключается в том, что я хочу реализовать длинный щелчок по элементу, открыть всплывающее окно и выполнить удаление. Мне не нужна новая деятельность.
Итак, лучше ли создать новую активность для обработки удаления, не отображать макет и после перенаправить обратно в MainActivity? Или я должен поместить логику удаления в MainActivity внутри onClickListener? Я действительно смущен тем, как сделать это чистым способом
@Ranjan Спасибо! Я посмотрю на это, но больше всего меня беспокоит загрязнение моей MainActivity двумя внутренними классами AsyncTask (для грубых задач чтения и удаления), потому что я использую Room, они тоже должны быть в MainActivity, верно?
Нет, создайте класс модели репозитория/просмотра и выполните там операции с дБ. Room поддерживает оперативные данные, поэтому изменения можно наблюдать, и вы можете выполнять свою задачу в отдельном классе и при этом без особых проблем обновлять свой пользовательский интерфейс.
Вы можете сделать удаление в MainActivity, не проблема. Лучшим подходом было бы использование шаблона MVVM. Ошибка, которую я сделал как новичок, заключалась в том, что я начал добавлять много функций в MainActivity, и в конце концов моя MainActivity насчитывала более 1900 строк, она работает гладко, но просто не поддерживается.