1 回答

TA貢獻1799條經驗 獲得超9個贊
您不能有條件地導入這樣的類。
相反,您應該將在桌面和 Java 上運行的代碼封裝到它自己的類(或多個類)中,您可以將其用作庫。然后構建一個桌面應用程序和一個 Android 應用程序,其中僅包含特定于一個版本的代碼。兩個特定于平臺的項目都將使用共享代碼作為庫。
如果您需要從共享代碼中調用特定于平臺的代碼,請通過接口執行此操作,這樣您就不必關心共享代碼中特定于平臺的代碼。像這樣的東西:
public interface Printer {
public void print(String s);
}
然后在該接口的實現中實現特定于平臺的代碼:
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");
}
然后在特定于平臺的代碼中創建這些類的實例并將其傳遞到您的草圖類中。
添加回答
舉報