Я хотел бы переделать свое приложение в компоненты, чтобы оно было более модульным и его было легче использовать в будущем, но я никогда не проектировал приложения, поэтому я не знаю, как мне это сделать это.
Вот краткое описание приложения:
Цель Приложения - предоставить Пользователю возможность создавать «События», которые будут храниться локально на Устройстве и отправляться по сети.
Пользователь может взаимодействовать с приложением с помощью 2 действий: «NewEventActivity», которая позволяет ему создавать новые события, и «RegistryActivity», позволяющее просматривать ранее созданные события.
Локальное хранилище должно обрабатываться базой данных SQLite
Событие должно быть отправлено в определенном двоичном формате.
Другие приложения должны иметь возможность использовать компонент Отправка для форматирования и отправки сообщений других типов в том же формате.
Этот рисунок представляет, как я думал об организации компонентов. Рамки представляют компоненты, а стрелки представляют взаимодействия без этих компонентов.

Вот мои вопросы:
- Эта модель выглядит нормально? Можете ли вы увидеть что-то, что можно улучшить?
- Должен ли мой SQLiteHelper быть ContentProvider или ContentResolver?
- Должен ли я создать один класс BroadcastReceiver для каждого типа сигнала или один большой BroadcastReceiver, который обрабатывает все виды сигналов, которые может обрабатывать мое приложение?
Спасибо!