敷設渠道如何LIB模塊和主模塊
之間通信的I有2個模塊:
app
(應用)box
(庫模塊)
問題
我試圖使用來自box
模塊的app
模塊的一部分。 問題是app
模塊依賴於box
模塊,因此我無法從box
模塊中指出,因爲它會創建循環依賴。
如何從box
模塊獲得app
模塊方法?
或者
如何告知一些接收機app
模塊,有一些數據來獲得?
敷設渠道如何LIB模塊和主模塊
之間通信的I有2個模塊:
app
(應用)box
(庫模塊)問題
我試圖使用來自box
模塊的app
模塊的一部分。 問題是app
模塊依賴於box
模塊,因此我無法從box
模塊中指出,因爲它會創建循環依賴。
如何從box
模塊獲得app
模塊方法?
或者
如何告知一些接收機app
模塊,有一些數據來獲得?
您不能直接調用取決於您的庫的模塊。這種依賴會打敗圖書館的目的。但是你可以在你的Box模塊中定義一個接口,這個庫的哪些客戶端必須實現自動運行。
例子: 你的盒子模塊定義一個接口
interface ThereIsSomeDataToGet(){
void doSomething();
}
而且您的應用模塊,可以撥打
Box.registerCallback(new ThereIsSomeDataToGet(){...})
現在盒模塊中,你有一個回調到您的應用程序模塊,沒有任何硬性依賴關係,並且當庫中有一些新數據時,您只需撥打
ThereIsSomeDataToGet.doSomething();
如果活動在Box.registerCallback之後重新啓動(new ThereIsSomeDataToGet (){...})和ThereIsSomeDataToGet.doSomething();之前? – Exigente05
你可能想從這裏獲取一些線索 - http://stackoverflow.com/questions/6974696/starting-activity-from-android-library-project?rq=1 – random