首先复制大话设计模式两句话
什么是适配器模式:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作
那适配器主要解决什么问题呢?
举个栗子,一大一小两根水管通过转接口就可以接上,而这个转接口就是我们适配器。下面我们举例APP集成多个厂家视频SDK来说明适配器
先来看看我们适配器ICameraAdapter
public interface ICameraAdapter {
void init();
void startCamera();
void stopCamera();
}
然后我们实现A厂家视频
public class CameraA implements ICameraAdapter {
@Override
public void init() {
System.out.print("A厂家 摄像头初始化");
}
@Override
public void startCamera() {
System.out.print("A厂家 摄像头预览");
}
@Override
public void stopCamera() {
System.out.print("A厂家 摄像头退出预览");
}
}
在实现B厂家摄像
public class CameraB implements ICameraAdapter {
@Override
public void init() {
System.out.print("B厂家 摄像头初始化");
}
@Override
public void startCamera() {
System.out.print("B厂家 摄像头预览");
}
@Override
public void stopCamera() {
System.out.print("B厂家 摄像头退出预览");
}
}
下面我们看看使用我们Camera
public class CameraAdapter extends Activity{
private ICameraAdapter mICameraAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//查看A厂家摄像头
mICameraAdapter = new CameraA();
mICameraAdapter.init();
mICameraAdapter.startCamera();
mICameraAdapter.stopCamera();
//查看B厂家摄像头
mICameraAdapter = new CameraB();
mICameraAdapter.init();
mICameraAdapter.startCamera();
mICameraAdapter.stopCamera();
}
}