Android隐藏androidApi界面后面

Android hide android Api behind interface

我最初实现了一个视频捕获应用程序,其中包含 activity 中的所有摄像头和录制逻辑。根据我对 MVP 设计模式的理解,视图不应包含 UI 本身以外的任何逻辑。所以有人建议我将相机逻辑隐藏在界面后面。我真的不明白将它隐藏在界面中会发生什么。这是否意味着我必须创建一个接口并让一个单独的 class 实现这些功能,然后将其连接到 activity。任何人都可以引导我正确理解该陈述或提供有关此问题的任何外部帮助。

这里有一个简单的例子来演示所描述的内容。您希望将所有与相机相关的代码放在一个单独的 class 中,并有一个接口来描述这些方法。

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

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

// Existing activity
class Activity {
    Recorder recorder;

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