2016-02-25 3 views
0

Я читал в Android API, и кажется, что фрагменты предназначены для сортировки модуля Activity. Поэтому, если у Activity есть ListView и DetailView, он должен быть разбит на два отдельных фрагмента и будет действовать как главный контроллер.Правильное использование Android-фрагмента

В моем предыдущем проекте, над которым я работал, мы использовали Fragments, как дети активности.

Например: предположим, что есть AutomobileActivity, который предназначен для экономии входных данных автомобиля в облаке. У нас есть фрагменты, такие как: SedanFragment TruckFragment SportsUtilityFragment

Эти фрагменты занимают весь вид деятельности и отображается только один на один раз. Хотя эти фрагменты используют методы в Activity для вызова общих веб-сервисов, таких как сохранение информации об автомобиле, получение информации о машине. Они также делают разные вещи, например, у грузовика может быть дополнительная запись, чтобы установить «Размер кровати», а SportsUtilityFragment может иметь «Ограничение подвеса» и т. Д.

Таким образом, мы используем много повторного использования и модуляции, но это не совсем то, что подробно описывает Android API. Это плохой способ использования фрагментов?

ответ

1

Это очень объективный вопрос, и у него будет много разных ответов. По-моему, то, что вы делаете, правильно. Причина этого в том, что у них есть набор общих веб-сервисов. Если мы идем по mvc-подходу, у всех их может быть один и тот же контроллер (для вызова веб-сервисов), класс модели (Superclass-vehicle) с отдельными моделями, которые наследуют от этого vehicle model class.. При этом вы можете иметь дополнительный параметр ввода, который будет присутствовать в этих моделях. Ваше мнение, фрагменты могут легко вызвать экземпляр этих моделей. Если вы будете модулизировать таким образом, вы сделаете жизнь очень легкой для себя.

+0

Я предполагаю, что это объективно, но мне было любопытно, почему API Google не упоминает об этом как способе использования фрагментов. Я хотел знать, есть ли причина, по которой они, возможно, оставили его, поскольку, похоже, он будет использоваться таким образом довольно часто? – Alan

+0

Я не знаю, почему API Google не упоминает об этом, но, по их словам, класс Fragment может использоваться многими способами для достижения широкого спектра результатов. В своей основе он представляет собой определенную операцию или интерфейс, который работает в рамках более крупного Activity (источник: http://developer.android.com/reference/android/app/Fragment.html). Кроме того, модуляция - это способ кодирования, поэтому это также может быть причиной того, почему они особо не упомянули об этом. –

Смежные вопросы