Module vs Paket Android Studio
Ich bin sehr neu in Android Studio und Java.
Ich bin in den Prozess der Entwicklung einer app. Diese app wird im Grunde nach einer geschichteten Architektur mit verschiedenen Schichten, zum Beispiel, UI, Data Access Layer, Service-layer, etc.
Ich bin nicht klar auf die Unterschiede zwischen packages und Module.
Meine Frage ist, wo würde man all diese verschiedenen Ebenen, in Module oder Pakete?
Hinweis auf @Angel Antwort zu diese Frage, der einzige Unterschied zwischen den beiden ist \, Module definieren eine weitere strenge Regel, wer auf Sie zugreifen können, indem der import der Namensräume für die Module.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen "module ist der container für die source-code innerhalb eines Projekts. Ein einzelnes Projekt kann mehrere Module, aber jedes Modul ist ein separater Satz von code und Ressourcen.
Zum Beispiel, wenn Sie erstellen ein neues Projekt mit den Standardeinstellungen, Android Studio erzeugt ein Modul namens
app
. Dieses Modul enthält den gesamten Quellcode, Ressourcen-Dateien und app-level-Einstellungen für Ihre Anwendung.Aber, wenn Sie ein neues Projekt erstellen, mit einem Telefon/Tablet-Anwendung, sowie eine Android-Wear-Anwendung, sehen Sie zwei Module;
mobile
undwear
. Jedes dieser Module enthalten den Quellcode, Ressourcen-Dateien und app-level-Einstellungen für Ihre jeweilige Anwendung.Können Sie auch erstellen, ein weiteres Modul werden gemeinsam von mehreren Modulen; dieses Modul würde als eine Bibliothek-Modul.
Einen Paket ist im wesentlichen ein Verzeichnis (Ordner) auf dem source-code gehört. Normalerweise ist dies eine Verzeichnis-Struktur, die identifiziert Ihre Anwendung eindeutig, wie
com.example.app
. Dann können Sie Pakete innerhalb der Anwendung Paket trennt, dass Ihr code; wiecom.example.app.ui
odercom.example.app.data
.Daher, um Ihre Frage zu beantworten, das Paket für jede Anwendung befindet sich innerhalb der
src/main/java
- Verzeichnis des application Modul. Konnte Sie ein separates Paket in der Anwendungs-pacakge zu trennen, jeder "Schicht" Ihrer Anwendung Architektur.Nur für eine visuelle Beispiel, dies ist die grundlegende Struktur für eins meiner Projekte: