1 回答

TA貢獻1799條經(jīng)驗 獲得超9個贊
您不能有條件地導(dǎo)入這樣的類。
相反,您應(yīng)該將在桌面和 Java 上運行的代碼封裝到它自己的類(或多個類)中,您可以將其用作庫。然后構(gòu)建一個桌面應(yīng)用程序和一個 Android 應(yīng)用程序,其中僅包含特定于一個版本的代碼。兩個特定于平臺的項目都將使用共享代碼作為庫。
如果您需要從共享代碼中調(diào)用特定于平臺的代碼,請通過接口執(zhí)行此操作,這樣您就不必關(guān)心共享代碼中特定于平臺的代碼。像這樣的東西:
public interface Printer {
public void print(String s);
}
然后在該接口的實現(xiàn)中實現(xiàn)特定于平臺的代碼:
public class DesktopPrinter implements Printer {
public void print(String s) {
System.out.println(s);
}
}
public class AndroidPrinter implements Printer {
public void print(String s) {
Log.d("MyApp", s);
}
}
然后在您的處理代碼中,您將只使用該接口:
Printer printer;
void setPrinter(Printer printer) {
this.printer = printer;
}
void draw(){
printer.print("in draw");
}
然后在特定于平臺的代碼中創(chuàng)建這些類的實例并將其傳遞到您的草圖類中。
添加回答
舉報