2017-02-27 21 views
0

我要構建Android應用(應用,應用2,程序App3和等 - 在gradle這個產品口味實現這一點)從我的單一源代碼。
1. App1,App2,App3等有一些功能。功能上相同,但UI可以針對每個應用不同
2.特點是模塊。功能可以通過gradle scrip(flavor)添加。如何在android中添加動態UI模塊?

我的問題是,我確定與功能。我如何動態添加UI模塊?

+0

儘量讓不同的資源目錄爲每個口味。 –

+0

@RaphaelTeyssandier功能可能會有所不同,每個應用程序。片段不適用於所有應用程序。例如Point1)App1 - Screen1具有F1和F2功能。 Point2)App2 - Screen1有F1,Screen2有F2。 –

+0

同樣的方法,你可以在每一個風格上都有相同的片段,但是裏面的代碼不同。如果你想要一個例子告訴我。 –

回答

0

因此類會在每次的味道,但不是在你的主應用程序,或者你會得到一個Duplicate class error。佈局相同。

搖籃

productFlavors { 
     manual_count { 
      applicationId "com.example.example.app.manual_count" 
     } 

     manual_sensor { 
      applicationId "com.example.example.app.manual_sensor" 
     } 
    } 

    sourceSets { 
     manual_count { 
      res.srcDirs = ['/src/main/res', 'src/manual_count/res', 'src/manual_count/res/'] 
     } 

     manual_sensor { 
      res.srcDirs = ['/src/main/res', 'src/manual_sensor/res', 'src/manual_sensor/res/'] 
     } 
    } 

ProjectStructure

enter image description here

爲了做到這一點:

  • 你的味道目錄中右擊,然後New - >Folder - >Java Folder - >Finish(裏面,你會把你的代碼片段)
  • 你的味道目錄的右鍵點擊即可New - >Folder - >Res Folder - >啓用Change Folder Location - >Finish
  • 確保添加主res目錄在sourceSets(見下面的例子)
  • 創建layoutvalues,等等...做:右擊你的資源味道目錄 - >New - >Directory - >把資源目錄的名稱(layoutvalues,......)
  • 創建佈局文件,右鍵單擊layout目錄 - >New - >Layout resources File