2016-06-10 54 views
2

我的意思是這樣的:我寫了一個非常詳盡的Java代碼,旨在爲Android設備。因此,它包含了幾種僅在Android中可用的定義(例如使用TTS-STT引擎)。但是,大多數代碼也可以在桌面上輕鬆使用。
現在,爲了做到這一點,我必須刪除Android相關的方法並將其編譯爲桌面。但是,由於我經常更新Android的原始代碼,因此對桌面執行相同的編輯工作讓人費解。 有沒有一種方法可以告訴程序只有在運行的操作系統是Android時才擔心代碼的某個部分?還是OSX,Windows等等,這樣它就可以在沒有錯誤的情況下編譯而不管操作系統,然後有選擇地運行某些方法? 非常感謝你,有一個愉快的一天有沒有辦法使Java應用程序根據使用的操作系統運行某些方法?

+1

對於選擇性*運行*取決於操作系統,請查看系統屬性,例如嘗試'System.out.println(System.getProperty(「os.name」));' https://docs.oracle。 com/javase/tutorial/essential/environment/sysprop.html – Arjan

+1

@Arjan這不能解決OP的問題 - 如果他引用了android原生方法,代碼仍然不能在桌面上編譯。據我所知,他希望能夠編譯和使用一個代碼庫,而不管他正在運行的操作系統。 – nhouser9

+0

@ nhouser9它確實沒有解決任何編譯問題。 – Arjan

回答

0

SWT jar for different platform

SWT有它使用不同的代碼,不同的平臺有類似的情況。我建議你看看上面的參考。這篇文章中的一個建議是,您可以像使用JDBC一樣通過名稱實現類來加載部分代碼。

如果使用Git之類的東西,可以爲不同分支上的不同操作系統提供版本。我也會採用Arjan提到的方法,儘可能限制操作系統特定的代碼。

+0

謝謝!我會看到這個,回到這裏來評論我的進展以供將來參考(如果我確實可以在XD方面取得一些進展) –

相關問題