Zum Inhalt springen
  • 0

Android Studio Quiz App mit verschiedenen Activitys


Frage

Geschrieben

Halli Hallo,

ich würde gerne eine Quiz App in Android Studio programmieren. Ich bin noch ein Anfänger in der Android Entwicklung.

Die App soll auch z.B. Lückentexte mit Drag und Drop Antworten enthalten und ich frage mich, wie ich das anstellen kann, denn es soll mal nur ein Wort fehlen, manchmal auch mehrere und dementsprechend müssen eine entsprechende Anzahl Lücken und Drop Items gegeben werden. Ich kann nicht für alle Fragen eine eigene Aktivity anlegen, das wäre doch sehr unperformant, oder?

Ich habe überlegt, mehrere Activitys anzulegen, die erste mit einem Drag Element, die zweite mit zwei usw. Dann würde ich durch eine Liste mit Frage-Objekten iterieren, wo die benötigte Aktivity Id mit passender Anzahl ebenfalls angegeben ist und den Text irgendwie darauf abbilden.

Ich würde also eine Activity als Variable in ein Intent geben. Klappt das? Ich hantiere dann ja immer noch mit mehreren Activitys. Ist das eine sinnvolle Vorgehensweise oder gibt es da vielleicht eine bessere Art das anzustellen?

Hättet ihr eventuell andere Vorschläge?

Ich freue mich über eure Kritik und Ideen :D

 

2 Antworten auf diese Frage

Empfohlene Beiträge

  • 0
Geschrieben

Die Anzahl der Activities macht ja erstmal nicht die Anwendung langsamer. Sie wird halt nur größer.

Ich hab schon seit 10 Jahren keine Android-App mehr entwickelt aber ich würde wohl für jede Art einer Frage eine Activity bauen. Also eine für Multiple-Choice, eine für Lückentexte, etc. Wie viele Lücken nachher ein Text hat, lässt sich doch konfigurieren. Man hat dann die Texte und die Antworten in einer Datenbank stehen und dann könnte man doch eine Liste oder auch TextViews mit den Antworten erzeugen. Man kann ja auch per Code UI Komponenten erstellen und nicht nur per Designer. ;)

Das Problem mit deiner Idee ist nämlich, dass es gegen das DRY-Prinzip verstößt. Deine Activities sind im Grunde ja nichts weiter als Kopien, nur dass du dort eine TextView (oder was anderes) mehr hast. Jetzt stell dir vor, du hast ein Fehler entdeckt oder du möchtest eine Anpassung vornehmen. Dann musst du diesen Fehler oder die Anpassung in allen Actitives korrigieren bzw. vornehmen. Das ist sehr fehleranfällig, da man im Eifer des Gefechts sicherlich eine vergisst. Auch dauern Änderungen an der App deutlich länger.

  • 0
Geschrieben
vor 2 Stunden schrieb Whiz-zarD:

Die Anzahl der Activities macht ja erstmal nicht die Anwendung langsamer. Sie wird halt nur größer.

Ich hab schon seit 10 Jahren keine Android-App mehr entwickelt aber ich würde wohl für jede Art einer Frage eine Activity bauen. Also eine für Multiple-Choice, eine für Lückentexte, etc. Wie viele Lücken nachher ein Text hat, lässt sich doch konfigurieren. Man hat dann die Texte und die Antworten in einer Datenbank stehen und dann könnte man doch eine Liste oder auch TextViews mit den Antworten erzeugen. Man kann ja auch per Code UI Komponenten erstellen und nicht nur per Designer. ;)

Das Problem mit deiner Idee ist nämlich, dass es gegen das DRY-Prinzip verstößt. Deine Activities sind im Grunde ja nichts weiter als Kopien, nur dass du dort eine TextView (oder was anderes) mehr hast. Jetzt stell dir vor, du hast ein Fehler entdeckt oder du möchtest eine Anpassung vornehmen. Dann musst du diesen Fehler oder die Anpassung in allen Actitives korrigieren bzw. vornehmen. Das ist sehr fehleranfällig, da man im Eifer des Gefechts sicherlich eine vergisst. Auch dauern Änderungen an der App deutlich länger.

Du hast vollkommen Recht! Gerade bei der Fehlersuche wären mehrere ähnliche Activitys echt blöd. Ganz, ganz vielen Dank für deinen Input! 😃 Ich werde mich mit dem Dry-Prinzip und der Erstellung von Elementen im Code beschäftigen! Das klingt wirklich nach einer guten Herangehensweise. Vielen Dank für dein Feedback! 😃😃😃

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Diese Frage beantworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...