Hallo,
ich habe bislang Apps für iOS und Windows Phone entwickelt und will nun auch ein Projekt für Android umsetzten. Hierfür arbeite ich mich durch die Einleitungen vom Dev Center, wobei ich aber in einem Punkt Verständnisprobleme habe:
Wie ist der Grundlegende Aufbau einer Android App?
Soweit ich das verstanden habe besteht eine App aus einer oder mehreren Activities, was quasi einer Seite der App entspricht. Eine App zur Personalverwaltung könnte z.B. Activities "EmployeeList", "DepartmentsList" und "Payments" haben.
Soweit ist das nichts besonderes und lässt sich leicht mit den ViewControllern von iOS oder den Pages von WindowsPhone gleich setzten. Problematisch finde ich, dass die Activities nur lose gekoppelt sind. Es gibt zwar eine Haupt-Activity, daneben kann es aber auch beliebig viele weitere Einstiegspunkte in die App geben.
In den Beschreibungen die ich bislang gefunden habe ist immer nur vom Lifecycle der Actifities die Rede, nicht aber von der App selbst.
Unter iOS und WP ist es so, dass es zunächst einmal die App gibt. Diese startet und es werden die verschiedenen Schritte der Initialisierung durchlaufen. Es gibt also einen zentralen Punkt an dem ich z.B. das Datenmodell laden kann das überall in der App benötigt wird. Bei der Personalverwaltungs-App würden also z.B. die Angestellten und die Abteilungen aus der Datenbank geladen. Ist das Laden abgeschlossen wird der Haupt-ViewController bzw. die Haupt-Seite angezeigt. In der App wird dann zwischen den verschiedenen ViewControllern/Seiten hin und her navigiert. Alle VCs/Seiten haben die App als übergeordnetes Element. Die App ist sozusagen der Container der alle VCs/Seiten enthält.
Bei WP gibt es durchaus die Möglichkeit auch andere Einstiegspunkte in die App als nur die Hauptseite zu erstellen. Dann startet die App aber wie zuvor, lädt alle Daten und zeigt dann eben Seite XY statt der Hauptseite an.
Die App als übergeordnetes Element aller Activities fehlt mir bislang. Gibt es das wirklich nicht oder habe ich etwas übersehen?
Bislang verstehe ich Android so:
Fall1:
- App wird über Haupt-Icon gestartet und dafür die Haupt-Activity "EmployeeList" gestartet.
- Für die Anzeige der Abgestellten müssten diese natürlich erst einmal geladen werden -> Laden der Liste aus einer Datenbank
- Anzeigen der Liste
- Wechsel zur Payments-Activity. Diese benötigt ebenfalls die Liste der Angestellten. Diese kann über die Extras des Intends übergeben werden.
Fall2:
- Start der App über ein Zweiticon das direkt die Payments-Activity startet.
- Die Liste der Angestellten wurde nicht mit übergeben, diese muss also nun selber geladen werden.
Ist das richtig? Dann wären zwei verschiedenen Stellen der App je nach Fall für dieselbe Aufgabe (Laden der Liste) verantwortlich. Das kann doch nicht sein.
Vielen Dank für eine Klarstellung!