編輯:關於Android編程
適配器模式呢大致分為兩種,一種是組合的方式對象適配器,另一種是繼承的方式類適配器,其他還有各種衍生。
借助慕課網的教學ppt,我們來看一下什麼是對象適配器

對象適配器就是把一個“被適配者”作為一個對象組合到適配器類中,以修改目標接口包裝適配者,下面我們通過一個二相插頭和三相插頭的轉換電流例子來看一下這種模式的運用。
我們先來看一下使用場景,我們帶了一個筆記本和一個插座。
我們帶的筆記本
public class NoteBook {
private ThreePlugIf plug;
public NoteBook(ThreePlugIf plug){
this.plug = plug;
}
//使用插座充電
public void charge(){
plug.powerWithThree();
}public interface ThreePlugIf {
//使用三相電流供電
public void powerWithThree();
} 我們帶的插座 public class GBTwoPlug {
//使用二相電流供電
public void powerWithTwo(){
System.out.println("使用二相電流供電");
}
} 以上情況我們發現一個窘境,我們有一個筆記本必須使用三相電流,可我們只有二相電流插座,那怎麼辦呢,那我們就要一個轉換器啦。public class TwoPlugAdapter implements ThreePlugIf {
private GBTwoPlug plug;
public TwoPlugAdapter(GBTwoPlug plug){
this.plug = plug;
}
@Override
public void powerWithThree() {
System.out.println("通過轉化");
plug.powerWithTwo();
}
} 我們的適配器類繼承了三項插座接口,實現了其輸電方法,並將二相電流類作為參數對象傳入。我們怎麼使用這個適配器呢?GBTwoPlug two = new GBTwoPlug(); ThreePlugIf three = new TwoPlugAdapter(two); NoteBook nb = new NoteBook(three); nb.charge();答案就是我們用我們新的子類(適配器類)實例化父類(三相插座接口),新生成的對象可以調用子類的方法powerwithThree(),實現供電轉化。
那麼什麼是類適配器呢?

類適配器模式就是通過多重繼承不兼容接口,實現對目標接口的匹配,單一的唯某個類而實現適配的這樣一種模式。
public class TwoPlugAdapterExtends extends GBTwoPlug implements ThreePlugIf {
@Override
public void powerWithThree() {
System.out.print("借助繼承適配器");
this.powerWithTwo();
}
} 看完適配器的兩種模式,我們來對比一下類適配器只能為單一的某個類而實現,復用性較差
對象適配器可以為不同的對象實現適配,使用性較強!
Android 手機浏覽器調試使用Chrome進行調試實例詳解
使用PC上的 Chrome 遠程調試手機端的頁面工具准備 手機端:chrome for Android,; PC端:安裝谷歌浏覽器(最好是最新版的開發者版
Android編程實現AIDL(跨進程通信)的方法詳解
本文實例講述了Android編程實現AIDL(跨進程通信)的方法。分享給大家供大家參考,具體如下:一. 概述:跨進程通信(AIDL),主要實現進程(應用)間數據共享功能。
Android IntentService的使用和源碼分析
引言Service服務是Android四大組件之一,在Android中有著舉足重輕的作用。Service服務是工作的UI線程中,當你的應用需要下載一個文件或者播放音樂等長
android源碼解析之(十三)--)apk安裝流程
上一篇文章中給大家分析了一下android系統啟動之後調用PackageManagerService服務並解析系統特定目錄,解析apk文件並安裝的過程,這個安裝過期實際上