1

我在單個android項目中創建了兩個模塊。如何從Android的庫類訪問應用程序模塊類?

  1. 應用模塊(這是默認我的應用程序模塊)

  2. 和另一位補充庫模塊。

現在app模塊有很多java類。我想在庫模塊中訪問應用程序模塊的.Java class

模塊應用在包某某一類DatabaseHelper

現在我想導入DatabaseHelperLibrary模塊。

DatabaseHelper不是由Android認可。

問題,

是否有可能從一個應用模塊到另一個模塊導入類?

任何其他方式。

MYFILES

的build.gradle(APP)

compile project(':materialList') 

setting.gradle

include ':app', ':Library' 

回答

1

沒有,也沒有辦法。重新思考你的設計。可能將DatabaseHelper轉換爲library項目?

在你的設計中,將有app模塊和library模塊之間循環依賴。

目的上的其他模塊是分離的代碼完全獨立的片,並將它們移動到外部位置。並在另一個模塊中使用它們。

+0

在應用程序中替換整個庫模塊是否好?這太需要頭痛了。 –

1

是否有可能從一個應用模塊到另一個模塊導入類?因爲這將創建一個循環依賴

這將是不可能的。

但是存在能夠在這種情況下被使用的圖案:

  • 定義數據類型:DatabaseHelperContent的library模塊
  • 在庫模塊實施者其中在定義一個接口DatabaseHelperI應該提供數據。
  • 創建DatabaseHelperImpl類實現DatabaseHelperI接口,提供的數據(這個類是app模塊中)
  • 初始化接口類ABC的實例,同時參考它在應用程序類,以使從數據該類可以動態傳遞給子模塊。

在那裏你可以指定接口的提供者 的@Module類與公共提供商在任何地方使用的注射數據這將成爲甚至一些依賴注入框架 像匕首簡單。

相關問題