Suche Hlfe/Anregungen für grundlegenden Aufbau einer App

  • Hallo :)


    Ich bin gerade dabei eine neue Android-App zu planen. Da mir bisher die nötige Erfahrung beim Entwickeln von Android-Apps fehlen hoffe ich hier einige Anregungen zu finden, wie ich meine App her aufbauen könnte.


    Grob gesagt soll das ganze ein Frontend für eine Web-App werden. Den grundlegenden Aufbau habe ich mir bisher ähnlich vorgestellt, wie z.b. die GMail oder Playstore Apps funktionieren: links ein aufklappbares Menü, über das ich die einzelnen Seiten anwählen kann, in denen dann der entsprechende Content dargestellt wird. Im AndroidStudio habe ich dazu schon ein Navigation Drawer Activity Beispiel gesehen, welches dieses Verhalten abbildet.
    Meine Frage wäre hier nun, ob das schon einmal der richtige Weg ist, oder ihr etwas anderes empfehlen würdet. Da einzelne Seiten ggf auch durch Graphiken etc. viel Inhalt beinhalten können, wäre es z.B. auch interessant, ob bei einem solchen Aufbau Android noch die Möglichkeit hat, inaktive Seiten zu schließen, wenn der Speicher knapp wird, wie z.B. jederzeit eine Activity geschlossen werden kann.


    Ein anderer Punkt wäre noch, wie man am besten einen Login handhabt. Lege ich die Login-Activity als Start-Activity fest, und lasse diese die eigentliche App aufrufen, oder ist meine App die Start-Activity und öffne per Intent die Login-Activity, wenn ich feststelle, daß ich keinen gültigen Login habe oder dieser abgelaufen ist?
    Idealerweise möchte ich mich als Benutzer ja einmalig einloggen, und beim nächsten Start der App direkt wieder den Inhalt sehen, am Besten auch auf der Seite, auf der ich die App zuletzt verlassen habe.


    Ich hoffe meine Fragen waren soweit verständlich. Danke schonmal für eure Hilfe :)

  • Grundsätzlich bist du auf dem richtigen Weg.
    Ein Navigation Drawer kann dir verschiedene Fragmente anzeigen. In dem generiertem Projekt findest du ein Klasse PlaceholderFragment gegen die du deine Fragmente austauschen kannst.


    Fragmente können wiederrum Fragmente beinhalten und so lassen sich komplexe UIs gut aufbauen. Für Grafiken etc. gibt es einige gute Libraries. Nachschlagen kann man auf http://android-libs.com/ oder https://android-arsenal.com/


    Gundsätzlich solltest du dank GarbageCollector keine Probleme mit dem Speicher haben.
    Weitere Infos ua. auch zum Lifecycle findest du hier: http://developer.android.com/r…android/app/Fragment.html


    Eine Login-Activity per Intent aufzurufen halte ich für deutlich sinnvoller. Ansonsten kann man natürlich auch eine Activity vor der Eigentlichen "vorschalten", welche den Login handhabt. Man könnte es aber auch per Dialog lösen bzw. mit dem Theme DialogWhenLarge (Aber das nur als kleiner Tipp).


    Usersettings kannst du mit SharedPreferences speichern, allerdings solltest du bedenken, dass als Standart dort Klartext gespeichert wird und du dich selbst um Hash oder Verschlüsselung kümmern musst. Grundsätzlich würde ich einen Hash und eine Lifetime bevorzugen, da Apps leider auch sehr leicht entpackt werden können.


    Auch den letzten angezeigten Screen kannst du mit SharedPreferences lösen.


    Ein Tutorial dazu gibt es hier bei Vogella: http://www.vogella.com/tutoria…dPersistence/article.html


    So ich hoffe ich konnte dir deine Fragen beantworten :)

    MfG,
    Christopher


    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke

  • Hallo


    das hört sich ja schonmal ganz gut an, dann werd ich das einmal weiter verfolgen und versuchen daraus einen Prototyp zu bauen :)


    Beim Login würdest du also hergehen und die App-Activity starten, die dann versucht auf den Server zuzugreifen. Falls keine Login-Daten vorhanden oder abgelaufen wird die Login-Activity gestartet die dann wieder das Ergebnis zurück zur App liefert?
    Klingt soweit einleuchtend - danke für die Hilfe :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!