Я не Android-разработчик, хотя разработал приложение, состоящее из более чем 50 мероприятий, что делает приложение действительно большим. После 8 недель разработки, теперь возникают проблемы, из-за которых приложение сложно поддерживать и обновлять. Основные из них я имею дело с являетсяAndroid: Single activity, multiple views
Я не могу передать ссылку на объект конструкторов деятельности. Фактически я нашел механизмы
startActivityForResult
-Intent
-onActivityResult
действительно ограничивает и приводит к грязному коду многих констант для действий на активность и большому количествуswitch
case
, что действительно трудно отслеживать поток приложения.Другая проблема заключается в том, что я не знаю, как управлять жизненным циклом всего приложения, поскольку каждое действие имеет свой жизненный цикл.
Я имел некоторый успешный опыт работы с LWUIT и J2ME – polish, которые игнорируют J2ME мидлетов (аналогичные андроида деятельности) и реализовать свою собственную архитектуру и оконную систему с только один MIDlet, как вход в приложение. Я придумал ту же идею для Android.
Чтобы уточнить, я имею в виду приложение только с одним основным Activity
и других мероприятий, осуществляемых в качестве объектов, которые простираются View
объекта, и эти представления могут быть динамически добавлены к основной деятельности FrameLayout
и укладывают друг на друга. Логика действий может быть реализована в таких классах, и я даже нашел способ реализовать диалоги таким образом. Бизнес-объекты и объекты состояния могут быть переданы их конструктору, и это звучит неплохо, игнорируя его побочный эффект написания немного большего количества кода. Таким образом, слушатели также могут быть переданы конструкторам представлений, что упрощает управление интерфейсом пользовательского интерфейса и управление потоком.
Но вопросы:
- Это хорошая практика?
- Не привело бы меня к проблемам с производительностью или памятью?
Я также в курсе
- Android: What is better - multiple activities or switching views manually?
- Don't Overload a Single Activity Screen
- Pattern one activity, multiple views. Advantages and disadvantages
Ни один из них явно не решать вопросы, касающиеся работ или практиков с разумными доказательствами или документированной ссылкой
Пожалуйста, помогите мне с этим
Когда проект настолько огромен, код должен быть правильно спроектирован, вытащить всю общую функциональность. лучше структурировать данные (лучшие структуры данных). Они, по моему мнению, помогут уменьшить количество кода. – sat
На самом деле я это сделал. Я следил за полу-шаблоном MVVM, хотя андроид не поддерживает привязку данных. основные проблемы находятся в слое пользовательского интерфейса и отображаются переключатели и светящиеся togather. – anonim