簡體   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