繁体   English   中英

Java Android-定义导入

[英]Java Android - Defining Imports

我有以下问题:我确实有一个common.java类,该类将由Android应用程序使用,但也将由Java应用程序使用。 此类导入android特定的类(android。*)。

当然,如果我要构建Java应用程序,则确实会引发不存在的导入错误。 我以编程方式在if子句中完成了所有Android特定的工作:

if (System.getProperty("java.vm.name").equalsIgnoreCase("Dalvik")) {
  //Android specific stuff
}

所以:有一种方法,只有在构建android应用程序时,我才能导入Android类吗? 就像关于导入的if子句一样?

if(System.getProperty("java.vm.name").equalsIgnoreCase("Dalvik")) {
   import ...
   import ...
}

希望我的问题很清楚。 谢谢!!

您必须将通用分为可移植和特定于操作系统的代码,如下所示:

// has no android or j2se specific code
public class common {
    public void someCommonfunction() {...someOsSpecificcode(); ...}
    protected abstract void someOsSpecificcode();
}

// has android specific code
public class commonAndroid extends common {
    protected void someOsSpecificcode() { /* android specific implementation */ }
}

// has j2se specific code
public class commonJ2se extends common {
    protected void someOsSpecificcode() { /* j2se specific implementation */ }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM