После некоторого поиска наиболее разумным ответом будет следующее:
MVC уже реализован в Android как:
- View = макет, ресурсы и встроенные классы, такие как
Button
, полученные из android.view.View
.
- Контроллер = Активность
- Модель = классы, которые реализуют логику приложения
(Это, кстати, не подразумевает никакой логики предметной области в деятельности.)
Самое разумное для маленького разработчика - следовать этой схеме, а не пытаться делать то, что Google решил не делать.
PS Обратите внимание, что активность иногда перезапускается, поэтому для данных модели нет места (самый простой способ вызвать перезапуск - это пропустить android:configChanges="keyboardHidden|orientation"
из XML и включить ваше устройство).
EDIT
Мы можем говорить о MVC , но это будет так сказать FMVC , Framework - Модель - Представление - Контроллер . Framework (ОС Android) навязывает свое представление о жизненном цикле компонентов и связанных событиях, и на практике контроллер (Activity
/ Service
/ BroadcastReceiver
) является первым всех ответственных за решение этих событий, связанных с Framework (например, onCreate () ). Должен ли пользовательский ввод обрабатываться отдельно? Даже если это так, вы не можете отделить его, события пользовательского ввода также приходят из Android.
В любом случае, чем меньше кода, который не является специфичным для Android, вы добавляете в Activity
/ Service
/ BroadcastReceiver
, тем лучше.