Ist es möglich, das Model-View-Controller-Muster in Java für Android zu implementieren?
Oder ist sie bereits durch Aktivitäten umgesetzt? Oder gibt es eine bessere Möglichkeit, das MVC-Muster für Android zu implementieren?
Ist es möglich, das Model-View-Controller-Muster in Java für Android zu implementieren?
Oder ist sie bereits durch Aktivitäten umgesetzt? Oder gibt es eine bessere Möglichkeit, das MVC-Muster für Android zu implementieren?
Sie können MVC in Android implementieren, aber es ist nicht "nativ unterstützt" und erfordert einigen Aufwand.
Ich persönlich tendiere jedoch zu MVP als ein viel saubereres Architekturmuster für die Android-Entwicklung. Und wenn ich MVP sage, dann meine ich das:
Ich habe auch eine ausführlichere Antwort veröffentlicht これ .
Nachdem ich mit den verschiedenen Ansätzen zur MVC/MVP-Implementierung in Android gespielt habe, bin ich auf ein vernünftiges Architekturmuster gekommen, das ich in diesem Beitrag beschrieben habe: MVP- und MVC-Architekturmuster in Android .
Die beste Ressource, die ich zur Implementierung von MVC auf Android gefunden habe, ist diese Stelle :
Ich habe das gleiche Design für eines meiner Projekte verwendet, und es hat wunderbar funktioniert. Ich bin ein Anfänger auf Android, so kann ich nicht sagen, dass dies die beste Lösung ist.
Ich habe eine Änderung vorgenommen: Ich habe das Modell und den Controller für jede Aktivität in der Anwendungsklasse instanziiert, damit diese nicht neu erstellt werden, wenn sich der Querformatmodus ändert.
Ich stimme mit JDPeckham überein und glaube, dass XML allein nicht ausreicht, um den UI-Teil einer Anwendung zu implementieren.
Wenn Sie jedoch die Aktivität als Teil der Ansicht betrachten, ist die Implementierung von MVC recht einfach. Sie können überschreiben Anmeldung (wie von getApplication() in Activity zurückgegeben) und hier können Sie einen Controller erstellen, der für die gesamte Lebensdauer Ihrer Anwendung bestehen bleibt.
(Alternativ können Sie auch das Singleton-Muster verwenden, wie in der Anwendungsdokumentation vorgeschlagen)
MVC-Architektur auf Android Es ist besser, jedes MVP statt MVC in Android zu folgen. Aber noch nach der Antwort auf die Frage kann dies Lösung sein
Beschreibung und Leitlinien
Controller -
Activity can play the role.
Use an application class to write the
global methods and define, and avoid
static variables in the controller label
Model -
Entity like - user, Product, and Customer class.
View -
XML layout files.
ViewModel -
Class with like CartItem and owner
models with multiple class properties
Service -
DataService- All the tables which have logic
to get the data to bind the models - UserTable,
CustomerTable
NetworkService - Service logic binds the
logic with network call - Login Service
Helpers -
StringHelper, ValidationHelper static
methods for helping format and validation code.
SharedView - fragmets or shared views from the code
can be separated here
AppConstant -
Use the Values folder XML files
for constant app level
ANMERKUNG 1:
Jetzt kommt das Zauberstück, das Sie tun können. Sobald Sie das Stück Code klassifiziert haben, schreiben Sie eine Basis-Schnittstellenklasse wie IEntity und IService. Deklarieren Sie gemeinsame Methoden. Erstellen Sie nun die abstrakte Klasse BaseService und deklarieren Sie Ihren eigenen Satz von Methoden, um eine Trennung des Codes zu erreichen.
ANMERKUNG 2: Wenn Ihre Aktivität mehrere Modelle darstellt, ist es besser, die Ansichten in Fragmente aufzuteilen, als den Code/die Logik in der Aktivität zu schreiben. Dann ist es besser. Wenn also in Zukunft ein weiteres Modell in der Ansicht angezeigt werden soll, fügen Sie ein weiteres Fragment hinzu.
ANMERKUNG 3: Die Trennung des Codes ist sehr wichtig. Jede Komponente in der Architektur sollte unabhängig sein und keine abhängige Logik haben. Wenn Sie zufällig etwas abhängige Logik haben, dann schreiben Sie eine Abbildungslogikklasse dazwischen. Dies wird Ihnen in der Zukunft helfen.
Die Erstellung der Android-Benutzeroberfläche mit Hilfe von Layouts, Ressourcen, Aktivitäten und Intents ist eine Implementierung des MVC-Musters. Unter dem folgenden Link finden Sie weitere Informationen dazu - http://www.cs.otago.ac.nz/cosc346/labs/COSC346-lab2.2up.pdf
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.