Ist es möglich, das Model-View-Controller-Muster in Java für Android zu implementieren?
Oder ist es bereits durch Aktivitäten implementiert? Oder gibt es einen besseren Weg, 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 es bereits durch Aktivitäten implementiert? Oder gibt es einen besseren Weg, das MVC-Muster für Android zu implementieren?
Sie können MVC in Android implementieren, aber es wird nicht "native unterstützt" und erfordert einige Anstrengungen.
Trotzdem tendiere ich persönlich eher zu MVP als zu einem viel saubereren architektonischen Muster für die Android-Entwicklung. Und wenn ich MVP sage, meine ich das hier:
Ich habe auch eine ausführlichere Antwort hier gepostet.
Nachdem ich mit den verschiedenen Ansätzen zur MVC/MVP-Implementierung in Android gespielt habe, habe ich ein vernünftiges architektonisches Muster entwickelt, das ich in diesem Beitrag beschrieben habe: MVP und MVC Architekturmuster in Android.
Die beste Ressource, die ich gefunden habe, um MVC auf Android zu implementieren, ist dieser Beitrag:
Ich habe das gleiche Design für eines meiner Projekte übernommen und es hat super funktioniert. Ich bin Anfänger auf Android, daher 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 Anwendungs-Klasse instantiiert, damit sie nicht neu erstellt werden, wenn der Landscape-Porträt-Modus wechselt.
Es wäre toll, eine Zusammenfassung zu bekommen, falls der Artikel eines Tages gelöscht wird.
Webarchivierung zur Rettung web.archive.org/web/20200719232657/http://www.therealjoshua.com/…
Ich bin einverstanden mit JDPeckham, und ich glaube, dass alleine XML nicht ausreicht, um den UI-Teil einer Anwendung zu implementieren.
Allerdings, wenn Sie die Aktivität als Teil der Ansicht betrachten, dann ist die Implementierung von MVC recht einfach. Sie können Application überschreiben (wie von getApplication() in Activity zurückgegeben) und hier können Sie einen Controller erstellen, der während der Lebensdauer Ihrer Anwendung erhalten bleibt.
(Alternativ können Sie das Singleton-Muster verwenden, wie vom Anwendungsbeispiel vorgeschlagen.)
MVC-Architektur auf Android Es ist besser, jedem MVP statt MVC in Android zu folgen. Aber gemäß der Antwort auf die Frage kann dies eine Lösung sein
Beschreibung und Richtlinien
Controller -
Die Aktivität kann die Rolle spielen.
Verwenden Sie eine Anwendungsklasse, um die
globalen Methoden zu schreiben und zu definieren und vermeiden
Sie statische Variablen im Controller-Label.
Model -
Entität wie - Benutzer, Produkt und Kundenklasse.
Ansicht -
XML-Layoutdateien.
ViewModel -
Klasse mit ähnlichen Eigenschaften wie CartItem und Besitzer
Modelle mit mehreren Klasseneigenschaften.
Dienst -
DataService- Alle Tabellen, die Logik haben,
um die Daten zum Binden der Modelle abzurufen - UserTable,
CustomerTable
NetworkService - Der Servicelogik bindet die
Logik mit Netzwerkanruf - Login-Dienst
Helfer -
StringHelper, ValidationHelper statisch
Methoden zur Hilfe bei der Formatierung und Validierung des Codes.
SharedView - Fragmente oder gemeinsam genutzte Ansichten aus dem Code
können hier getrennt werden
AppConstant -
Verwenden Sie die Werteordner-XML-Dateien
für konstante App-Ebene
HINWEIS 1:
Jetzt kommt der Zaubertrick, den Sie machen können. Sobald Sie den Codeabschnitt klassifiziert haben, schreiben Sie eine Basisschnittstellenklasse wie IEntity und IService. Deklarieren Sie allgemeine Methoden. Erstellen Sie nun die abstrakte Klasse BaseService und deklarieren Sie Ihre eigenen Methodensätze und haben Sie eine Code-Trennung.
HINWEIS 2: Wenn Ihre Aktivität mehrere Modelle präsentiert, ist es besser, die Ansichten in Fragmente aufzuteilen, anstatt den Code/die Logik in der Aktivität zu schreiben. Dann ist es besser. Wenn also in Zukunft ein weiteres Modell angezeigt werden soll, fügen Sie einfach ein weiteres Fragment hinzu.
HINWEIS 3: Code-Trennung ist sehr wichtig. Jede Komponente in der Architektur sollte unabhängig sein und keine abhängige Logik haben. Wenn Sie zufällig eine abhängige Logik haben, schreiben Sie eine Mapping-Logikkategorie dazwischen. Das wird Ihnen in der Zukunft helfen.
Die Erstellung der Android-Benutzeroberfläche mit Layouts, Ressourcen, Activities und Intents ist eine Implementierung des MVC-Musters. Bitte beachten Sie den folgenden Link für 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.
64 Stimmen
Deine Frage ist sehr gut. Aber die als Lösung markierte Antwort ist meiner Meinung nach nicht korrekt. Sie könnte mehrere Personen in die Irre führen.
4 Stimmen
Überprüfe meine 2 Beiträge hier Android-Architektur: MV?
1 Stimmen
Auch gibt es zusätzliche Regeln, die beachtet werden müssen, um sich an das MVC-Modell zu halten, oder ist die Android-Entwicklung aufgrund von Aktivität, XML und Ressourcen bereits auf MVC zugeschnitten?
3 Stimmen
@Dori , Ich habe deinen Link repariert: Android Architecture: MV?
0 Stimmen
Dieser Artikel entspricht genau dem, wonach Sie suchen, MVC in Android anhand eines praktischen Beispiels: digigene.com/architecture/android-architecture-part-2-mvc
0 Stimmen
Die Entwicklung von Android-Apps ähnelt fast dem MVC-Modell, wenn man mit Android Studio arbeitet.