And*_*emp 11 android android-studio
我是Android Studio和Java的新手.
我正在开发一个应用程序.这个应用程序基本上遵循分层架构,具有不同的层,例如UI,数据访问层,服务层等.
我不清楚包和模块之间的区别.
我的问题是,人们将所有这些不同的层放在模块或包中?
指向@Angel 对此问题的回应,两者之间的唯一区别是\,模块通过必须导入模块的名称空间来定义更严格的规则,由谁来访问它们.
Bry*_*yan 23
甲模块为项目中的源代码中的容器.单个项目可以有多个模块,但每个模块都是一组独立的代码和资源.
例如,当您使用默认设置创建新项目时,Android Studio会生成一个名为的模块app.此模块包含应用程序的所有源代码,资源文件和应用程序级设置.
但是,如果您使用手机/平板电脑应用程序以及Android Wear应用程序创建新项目,您将看到两个模块; mobile和wear.这些模块中的每一个都包含其各自应用程序的源代码,资源文件和应用程序级别设置.
您还可以创建另一个模块以在多个模块之间共享; 该模块将被视为库模块.
甲包基本上是目录(文件夹),其源代码所属.通常,这是一个唯一标识您的应用程序的目录结构; 如com.example.app.然后,您可以在应用程序包中创建用于分隔代码的包; 如com.example.app.ui或com.example.app.data.
因此,要回答您的问题,每个应用程序的包都驻留在src/main/java应用程序模块的目录中.您可以在应用程序pacakge中放置一个单独的包来分隔应用程序体系结构的每个"层".
仅举一个直观的例子,这是我的一个项目的基本结构:
project
|-- build.gradle
|-- settings.gradle
~
|-- common // a common library module for both mobile and wear
| |-- build.gradle
| |-- proguard-rules.pro
| +-- src
| +-- main
| |-- AndroidManifest.xml
| |-- assets
| |-- java
| | +-- com
| | +-- example
| | +-- library // common module library package
| | |-- data
| | +-- util
| +-- res
|
|-- mobile // mobile application module
| |-- build.gradle
| |-- proguard-rules.pro
| +-- src
| +-- main
| |-- AndroidManifest.xml
| |-- assets
| |-- java
| | +-- com
| | +-- example
| | +-- app // mobile module application package
| | |-- data
| | |-- ui
| | +-- util
| +-- res
|
+-- wear // wear application module
|-- build.gradle
|-- proguard-rules.pro
+-- src
+-- main
|-- AndroidManifest.xml
|-- assets
|-- java
| +-- com
| +-- example
| +-- app // wear module application package
| |-- data
| |-- ui
| +-- util
+-- res
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6184 次 |
| 最近记录: |