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");
}
然后在特定于平台的代码中创建这些类的实例并将其传递到您的草图类中。
添加回答
举报