Основная структура программы контроллера для Android
Контроллер в архитектуре Model-View-Controller (MVC) Android-приложения отвечает за обработку пользовательского ввода, обновление модели и отправку команд представлению. Обычно программа контроллера имеет следующую структуру:
1. Создание контроллера
«`java
public class MyController implements View.OnClickListener {
private Model model;
private View view;
public MyController(Model model, View view) {
this.model = model;
this.view = view;
view.setOnClickListener(this);
}
}
«`
2. Обработка пользовательского ввода
Контроллер реализует интерфейс `View.OnClickListener`, который определяет метод `onClick()`:
«`java
@Override
public void onClick(View v) {
// Обрабатываем клик на кнопке
model.doSomething();
}
«`
3. Обновление модели
Контроллер вызывает методы модели для обновления ее состояния:
«`java
model.doSomething();
«`
4. Обновление представления
После обновления модели контроллер отправляет команды представлению, чтобы обновить пользовательский интерфейс:
«`java
view.update();
«`
Пример реализации контроллера
Вот пример реализации контроллера, который управляет счетчиком в представлении:
«`java
public class CounterController implements View.OnClickListener {
private CounterModel model;
private CounterView view;
public CounterController(CounterModel model, CounterView view) {
this.model = model;
this.view = view;
view.setOnClickListener(this);
}
@Override
public void onClick(View v) {
model.increment();
view.update();
}
}
«`
Подключение контроллера
Для подключения контроллера к представлению и модели необходимо создать экземпляр контроллера и передать его в конструкторы представления и модели:
«`java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
CounterModel model = new CounterModel();
CounterView view = new CounterView(this);
CounterController controller = new CounterController(model, view);
}
}
«`