Anfängerfrage - Anzahl von Activities

  • Antworten:3
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 2

03.10.2018, 13:06:26 via Website

Einen wunderschönen guten Tag,

seit gestern versuche ich mich etwas in die Android Programmierung einzufinden. Nun zu meiner Frage bzw. zum "Problem".

Ich möchte eine Art Assistenten erstellen, der je nach angeklickter Checkbox eine andere Seite öffnet. Da dieser Assistent in Zukunft für eine Arbeit recht umfangreich werden soll, stellt sich nun die Frage: Wie realisiere ich das?
Ich kann mir ja kaum vorstellen, dass ich für jede Frage (~50) eine eigene Activity erstellen sollte. Welche Strukturen bietet Android, damit sich praktisch nur der Inhalt der angezeigten Seite ändert?

Für jeden Tipp wäre ich sehr dankbar.

Viele Grüße :)

Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.177

03.10.2018, 14:05:45 via Website

Hallo Sigurdrifa,

herzlich wilkommen hier im Forum :)


Wenn alle Fragen die gleiche Struktur haben, sprich die selbe Daten/Objektstrukur,
dann kannst du für alles eine Activity erstellen und im Intent die Daten mitgeben und passend anzeigen.
Da brauchst du nicht für jede Frage einen Activity, sondern eine allgemeinere, die du mit den passenden Daten füllen kannst.

Je nachdem wie Fit du im Thema Andrioid bist, würde ich in die Activity eher noch ein Fragment setzen, falls du verschiedene Fragetypen/Layouts hast, kannst du dann noch die Fragments wechseln.

Wie sieht denn deine Datenstruktur aus?

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 2

03.10.2018, 14:23:30 via Website

Vielen Dank schon mal.

Ziel des ganzen ist halt, dass die ausgewählten Optionen ganz zum Schluss in eine Textdatei (erstmal) geschrieben werden. Verschiedene Layouts brauche ich da nicht. Es ist quasi nur ein Assistent, den man durchklickt und der je nach Antwort andere Fragen stellt.

Ergo brauche ich ja für jede Frage eine Anzeige. Noch hab ich mich an die Struktur selber nicht drangesetzt, weil ich ja nicht gleich den riesigen Datenberg erzeugen will :D

Heißt das im Grunde, dass ein Fragment Teil einer Activity ist?

Hilfreich?
Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.177

03.10.2018, 14:42:38 via Website

Selbst dafür brauchst du das nicht, sondern nur eine passende Datenstruktur.

Nimm als Bsp. eine einfache Activity die dir in einer TextView eine Frage und darunter 4 Buttons mit Antworten hat.

Wenn du jetzt einen der Buttons anklickst, brauchst du entweder Bedingungen nachdenen die nächste Frage geladen wird (aber in die gleiche Activity, nur neue Daten) oder du hast in deiner Datenstruktur per ID o.ä. die nächste Frage hinterlegt.

Und ein Fragment ist allgemein kein Teil der Activity, aber eine Activity kann meherere Fragments anzeigen.
Im Grunde ist ein Fragment eine Vorlage mit CodeBehind die du über meherere Activities benutzen kannst.

Und für eine Idee der Datenstruktur.

Frage1: FrageText,[(Antwort1,Richtig/falsch,nextFrageId);(Antwort2,...)]

z.b. für 2. Antworten:

1: "Wie alt ist Bill Gates?",[("A: 62",richtig,Verweis auf Frage 4),("B: 88",falsch,Verweis auf Frage 5)]

Die Strings ansich bitte nicht genau nehmen, das ganze lässt sich schön in Objekten darstellen.
Soll nur verdeutlichen, dass du Fragen gegenseitig verlinken kannst, wenn gewünscht auch bedingt z.b. dass wenn die letzten 3 Falsch waren, dann nimm 6 sonst 10 etc...
Damit hast du zwar einiges an Logikauwand, jedoch sparst du dir für jede Frage eine Activity ( bei silchen konzepten verliert man den Überblick...).

Zudem: Sollen einmal Fragen hinzukommen musst du diese nur zu deiner Datenstruktur hinzufügen und keine eigenen Activities gestalten.

Evtl. auch noch mal das konzept von OOP anschauen, da ich glaube, das du da noch nicht so ganz drin bist.

— geändert am 03.10.2018, 14:43:44

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Diskutiere mit!

Empfohlene Artikel