Dies ist die Android-Version (Java) von this.
Meine Android-Erfahrung ist auf einem Niveau, auf dem ich etwas machen kann, das funktioniert. Ich habe iOS gemacht, warum also nicht Android !!
Ich weiß nicht viel über Android, deshalb habe ich es vorerst mit MVC geschafft. Ich habe eine schnelle Suche nach MVC auf Android durchgeführt, war mir aber nicht sicher, deshalb habe ich sie ziemlich oft auf iOS gestellt.
Ich habe es mit dem Gefühl gemacht, dass es wahrscheinlich so ist, also würde ich es begrüßen, wenn Sie darauf hinweisen könnten, wenn es falsch war.
Der iOS-Typ, den ich früher gemacht habe
macOS High Sierra Version 10.13.2
Android Studio 3.2.1
Wenn es zu wenige Funktionen gibt, wird es schwierig sein, den Unterschied zu verstehen, selbst wenn Sie es mit verschiedenen Designs machen, also werde ich dieses Mal die folgende Anwendung machen.
Eine App, die das Wetter in jeder Präfektur mithilfe der Livedoor Weather Web API anzeigt (nicht für den kommerziellen Gebrauch verfügbar).
Das Ziel ist Android 5.0 oder höher.
Listen Sie 47 Präfekturen auf und zeigen Sie das Wetter für die ausgewählte Präfektur heute, morgen und übermorgen an.
Zwei Bildschirme, ein Präfekturlistenbildschirm und ein Detailbildschirm. (3 Bildschirme inklusive Splash)
Ignorieren Sie den Begrüßungsbildschirm. (Weil es nicht durch MVC getrennt ist)
Ich denke, einer der Gründe, warum es individuelle Wahrnehmungsunterschiede wie MVC gibt, ist, dass die Bedeutung von Katakana nicht eindeutig ist.
Ich recherchiere über MVC und verstehe die Geschäftslogik nicht wirklich. Deshalb werde ich in diesem Artikel über die Bedeutung von Katakana schreiben. (Es kann von der tatsächlichen Bedeutung abweichen ...)
In der Erklärung von hier ist es "der Teil des Systems, der die systemspezifische Verarbeitung durchführt".
Für diese App gilt Folgendes
Für diese App gilt Folgendes
Für diese App gilt Folgendes
Ich habe [hier] gegeben, was ich gemacht habe (https://github.com/adventam10/AndroidArchitecture).
Diesmal habe ich Okhttp3 für die Kommunikation und JSONExport für die Erstellung einer Klasse erstellt, die JSON-Daten verarbeitet. Ich benutzte.
Ich werde meine Wahrnehmung jedes Designs, die Anzahl der Dateien, die Anzahl der Aktivitätszeilen und die Eindrücke, die ich gemacht habe, aufschreiben.
Vorerst habe ich es mit Activity geschafft, ohne an irgendetwas [dies] zu denken (https://github.com/adventam10/AndroidArchitecture/tree/master).
Die Anzahl der Dateien ist gering und die Entwicklungsgeschwindigkeit hoch. Jede Klasse hat ungefähr 300 Zeilen, daher denke ich, dass dies auch für diese Skala möglich ist. Da der Prozess im Adapter geschrieben ist, habe ich das Gefühl, dass die Anzahl der Aktivitätszeilen abgenommen hat.
MVC
Das Projekt ist this
Vorerst habe ich Fragment als Ansicht erstellt. Das Abrufen des Schaltflächenereignisses und das Übergeben der Liste an den Adapter ist etwas ärgerlich, aber schlanker. Ich bin der Meinung, dass das Erstellen eines Modells das Speichern mit `onSaveInstanceState``` einfacher macht. Der Anzeigeprozess von PopupWindow hat die Anzahl der Aktivitätszeilen erheblich erhöht. Wenn Sie sie also etwas mehr teilen können, können Sie sie möglicherweise etwas schlanker gestalten. Für Bildschirme mit vielen Teilen kann
`findViewById``` in Fragment gruppiert werden, sodass die Aktivität sehr erfrischend ist und ich denke, dass sie recht einfach zu verwenden ist.
Andere Punkte, die vom Hauptpunkt abweichen, aber besorgniserregend waren
Es gab ziemlich viele Teile, an die ich nicht gewöhnt war, als ich es wie iOS gemacht habe. Als ich Activity mit dem gleichen Gefühl wie ViewController verwendete, war es wirklich fehlerhaft. Aktivität und Fragment sterben so oft. Es fühlt sich unangenehm an, eine Liste im Adapter zu haben, aber ich denke, dass dies nicht geholfen werden kann.
Ich habe diesen Artikel geschrieben, weil ich wollte, dass mir jemand eine Meinung gibt. Ich würde mich freuen, wenn Sie mir eine Meinung geben könnten. Wenn Sie der Meinung sind, dass dies das stärkste Design ist, versuchen Sie bitte, eine App mit den oben genannten Spezifikationen zu erstellen.
Wenn Sie Lust dazu haben, werde ich versuchen, es mit Kotlin zu machen. Ich denke, dass Kotlin heutzutage der Mainstream ist ...
Recommended Posts