Drugstore App — это приложение для управления списком лекарств. Оно позволяет добавлять, редактировать, удалять и фильтровать лекарства, а также использовать сортировку по цене и производителю. Проект построен с использованием Kotlin и Android SDK.
-
📋 Список лекарств:
- Отображение лекарств в виде списка с описанием.
- Используется
RecyclerViewдля динамического отображения данных.
-
➕ Добавление лекарства:
- Вызов диалогового окна для заполнения данных о новом лекарстве.
-
✏️ Редактирование лекарства:
- Долгое нажатие на элемент вызывает меню с опцией редактирования.
- Ввод данных в диалоговом окне с предварительным заполнением текущих данных.
-
🗑️ Удаление лекарства:
- Удаление записи через контекстное меню.
-
🔍 Фильтрация и поиск:
- Фильтрация по типу лекарства.
- Поиск по названию лекарства.
-
📊 Сортировка:
- Сортировка по цене (дешевле/дороже) и по производителю.
kotlin+java/
└── ru.kamazz.drugstore
├── models
│ └── AptekaItem.kt // Модель данных для лекарства
├── ui
│ ├── MainActivity.kt // Главная Activity приложения
│ ├── adapter
│ │ └── MyAdapter.kt // Адаптер для RecyclerView
│ └── dialogs
│ ├── DialogCallback.kt // Интерфейс для более удобной работы с диалогами
│ └── EditDialog.kt // Диалог для добавления/редактирования лекарства
├── utils
│ ├── DataUtil.kt // Утилита для работы с данными
│ └── FilterUtil.kt // Утилита для работы с сортировкой
└── assets
└── data.json // JSON-файл с данными о лекарствах
AptekaItem.kt:- Модель лекарства с параметрами:
nameLekarstva: Название лекарства.proizvoditelLekarstva: Производитель.vidLekarstva: Тип лекарства.formaLekarstva: Форма выпуска.obQemLekarstva: Объем.stoimostLekarstva: Стоимость.
- Модель лекарства с параметрами:
MainActivity.kt:- Главная Activity приложения.
- Реализует логику отображения, фильтрации, сортировки и управления данными.
dialogs/DialogCallback.kt:- Интерфейс для работы с диалогами.
- Используется для обработки сохранения изменений после редактирования или добавления лекарства в
EditDialog.
dialogs/EditDialog.kt:- Диалоговое окно для добавления или редактирования лекарства.
- Принимает
AptekaItemдля редактирования или создает новый элемент.
adapter/MyAdapter.kt:- Адаптер для
RecyclerView. - Обрабатывает отображение элементов списка и долгие нажатия на них.
- Адаптер для
DataUtil.kt:- Обеспечивает операции над данными:
- Загрузка из
data.json. - Сохранение изменений.
- Добавление/удаление/обновление элементов.
- Загрузка из
- Обеспечивает операции над данными:
FilterUtil.kt:- Утилита для фильтрации и сортировки списка лекарств.
- Основной метод:
filterAndSort:- Фильтрует список по запросу и выбранному типу лекарства.
- Сортирует список по выбранному критерию (
Дешевле,Дороже,Производитель).
data.json:- Исходный файл с данными о лекарствах, используемый для начальной загрузки.
- Склонируй репозиторий:
git clone https://github.com/Nata-Practices/drugstore.git
- Открой проект в Android Studio.
- Запусти приложение на устройстве или эмуляторе.
-
👀 Просмотр списка:
- Лекарства отображаются в списке.
- Каждый элемент содержит основную информацию.
-
➕ Добавление нового лекарства:
- Нажмите кнопку "Добавить".
- Заполните поля в диалоговом окне.
- Нажмите "Сохранить".
-
✏️ Редактирование лекарства:
- Долгое нажатие на элемент списка.
- Выберите "Редактировать".
- Измените данные в диалоговом окне.
-
🗑️ Удаление лекарства:
- Долгое нажатие на элемент списка.
- Выберите "Удалить".
-
🔍 Фильтрация и сортировка:
- Выберите фильтр в выпадающем меню (тип лекарства).
- Укажите критерий сортировки (дешевле, дороже, производитель).
На главной странице отображается список лекарств с функциями фильтрации, сортировки, поиска, а также кнопкой для добавления нового лекарства.
В окне редактирования можно изменить данные выбранного лекарства. Поля автоматически заполняются текущими данными.

