2012-10-29 44 views
1

目前我正在開發面向小型本地企業的應用程序,該應用程序可用作其他應用程序(其他應用程序)的模板。基礎應用程序允許本地商店向其客戶發送通知,具體取決於業務環境,通知可以是報告促銷活動,通知客戶他可以在商店拿到他的訂單,商店裏新產品的通知等。 ..我所做的是在每個客戶端的模板上工作,然後在後臺自定義應用程序的外觀,但功能對於每個人都是一樣的。我的問題是,每當我們有更多的企業對應用程序感興趣,並且當我發現錯誤或想要進一步改進時出現問題,並且更新每個應用程序中的代碼都可能是地獄(打開每個項目,添加行代碼,重新編譯等等),並且發佈新的應用程序涉及到一項出色的工作,因爲我必須更改命名空間的整個項目,更改內容提供者的權限,更新對與模板相關聯的命名空間的引用等等......如何從模板更新Android項目?

有什麼方法可以在原始模板中提供更新和/或添加部分代碼,並且這些更改會自動反映在從模板生成的所有項目中?

我已經理解Apache Ant可以幫助編譯具有很多依賴性的大型項目的過程,但是在我的問題的上下文中可能會有用嗎?

我現在能想到的解決方案是創建一個項目庫,然後將所有項目都公用到項目中,包括資源和活動。問題是,例如,應用程序Content Provider無法到達那裏,因爲我需要在爲每個應用程序定義的Manifiest中擁有一個權限。

提前非常感謝您花時間閱讀我的留言。歡迎任何幫助或建議。再次感謝你。

+1

將你的模板實現爲一個庫項目似乎是將它與不同實現分開的自然事情。 – Teovald

回答

1

我的問題是有什麼方法可以提供更新和/或在原始模板中添加部分代碼,並且更改會自動反映在從模板生成的所有項目中?

使核心代碼爲Android library project,並在所有客戶應用程序中使用該庫項目。

我現在可以想到的解決方案是創建一個項目庫,然後將所有項目都公用到項目中,包括資源和活動。

正確。

問題是,例如,應用程序Content Provider無法到達那裏,因爲我需要在爲每個應用程序定義的Manifiest中擁有一個權限。

您的ContentProvider執行可以在圖書館項目中進行。您的客戶特定項目需要清單中的<provider>元素,並具有唯一的權限,指向庫中的ContentProvider類。

+0

非常感謝Teovald和@CommonsWare的回覆。你的幫助對我來說非常有用。很高興知道我的方法是正確的 –