2016-10-16 6 views
-1

Первоначально я реализовал приложение для захвата видео со всей камерой и логикой записи внутри действия. С моим пониманием шаблона проектирования MVP представление не должно содержать никакой логики, отличной от самого пользовательского интерфейса. Поэтому мне было рекомендовано скрыть логику камеры за интерфейсом. Я не понимаю, что это такое, скрывая его в интерфейсе. Означает ли это, что я должен создать интерфейс и иметь отдельный класс, реализующий функции, а затем подключаю его к активности. Может ли кто-нибудь привести меня к правильному пониманию этого заявления или предоставить любую внешнюю помощь по этой проблеме.Android скрывает андроид Api за интерфейсом

ответ

0

Вот краткий пример, чтобы продемонстрировать, что было описано. Вы хотите иметь весь код, связанный с камерой, в отдельном классе и иметь интерфейс для описания методов.

interface Recorder { 
    void recordVideo(); 
    void takePicture(); 
} 

class CameraRecorder implements Recorder { 
    void recordVideo() { ... } 
    void takePicture() { ... } 
} 

// Existing activity 
class Activity { 
    Recorder recorder; 

    void main() { 
     recorder.takePicture(); 
    } 
} 
+0

О, отлично, так что это в основном то, что я ожидал. Также возникает вопрос, какой компонент является этой логической частью в отношении дизайна MVP? – WilliamC

+0

@WilliamC Я не эксперт, поэтому я не совсем уверен. Кажется, это может быть модель, но если есть значительная логика, ее можно считать контроллером. – Lorenzo