2011-10-26 63 views
0

我這是用Java編寫的,並使用Swing作爲系列的網絡操作的前端客戶端一個相當大的開源程序的粉絲。由於我一直在使用Android開發幾個月,我有一個想法,我可以創建一個類似於Swing應用程序的新應用程序。該程序組織良好,將接口與實現分開,並提供了命令行界面以及Swing。將Android SDK添加到現有的Java項目?

所以理想情況下,我希望能夠將某個新的Android程序包注入到現有文件系統中,利用已存在的後端,並使程序的新更新無縫工作。我發現的最接近的建議是這樣的:

Q: How can I create a new project from an existing project, using Android command line tools?

答:舊項目的目錄樹複製到一個新的項目。

這似乎並不像它可以爲我的建議是可行的,因爲我有與現有的SVN倉庫的工作,而不是從頭開始整個事情。有什麼辦法可以解決這個問題嗎?

回答

1

因爲我必須使用現有的SVN存儲庫,而不是從頭開始整個事情。有什麼辦法可以解決這個問題嗎?

我對此表示懷疑。 Android不會喜歡Swing代碼;標準的Java將不知道如何處理Android代碼。

我建議你重新組織代碼庫爲三個:

  • 一個生成一個JAR文件,其中包含的公共邏輯
  • 一個是你的現有Swing /命令行邏輯,它使用的其餘部分該JAR
  • 一個是一個新的Android項目,該項目還採用了JAR

也許你可以把這事辦成具有src-jar/src-swing/src/(後者爲Android)和相關聯的構建腳本。就個人而言,我會有三個完全獨立的項目。

由於SVN支持移動操作(至少,它習慣了,最後我用它,哦,這麼多年以前),你應該能夠做到這一點的重組,而不會丟失任何歷史版本。

+0

是的,這很可能是你說得對。當然,該項目在完成時會生成一個jar文件,所以我將會看到如果我只是導入jar而不是執行其中的主類,會發生什麼。也許我可以與主要開發人員一起在存儲庫中設置額外的位置,或者將其放在其他位置。 – Kazim

+0

@Kazim:「這個項目呢,當然,當完成生成一個jar」 - 是啊,但是這將有一堆額外的課程於它不會給你帶來任何好。可能有辦法通過ProGuard擺脫它們。 「所以我會看看會發生什麼,如果我只是導入jar而不是執行其中的主類」 - 如果你的意思是你將JAR添加到一個單獨的Android項目,原則上應該工作,只要你不會嘗試執行任何依賴於Android以外的東西(例如Swing)。 – CommonsWare

相關問題