allgemeine Frage zu Activities - Objekt von Activity anlegen

  • Antworten:5
Felix
  • Forum-Beiträge: 3

23.12.2011, 22:29:30 via Website

hallo, bin neu beim app-programmieren und wollte eine einfache app zum punktezählen beim darts programmieren...
zu erst habe ich eine "startseiten"-activity erstellt, auf der man die punktezahl und die spieleranzahl eingibt und dann mit einem button-click das spiel startet

nun möchte ich wissen ob es möglich ist nur eine einzige activity Spieler zu erstellen , die die punktezahl sowie den spielernamen enthält und dann für jeden spieler ein objekt davon anzulegen, das dann speziell die werte für jeden einzelnen spieler enthält...
oder ob ich für jeden spieler eine eigene activity schreiben muss die die eigenschaften punktezahl und spielernamen enthält??

ich habe es bereits mit startActivity(Intent) versucht, was nur mit dem Spieler.class gestartet werden kann und so kein objekt als übergabe erlaubt, aber so muss ich eben für jeden spieler eine eigene activity erstellen und das kommt mir wie ein gegensatz zum objektorientierten programmieren vor...
gibt es keine möglichkeit um zwischen objekten von activities hin- und herzuschalten?

— geändert am 23.12.2011, 22:57:44

Antworten
Felix
  • Forum-Beiträge: 259

24.12.2011, 09:13:26 via Website

Tach!

Man kann einem Intent immer Daten mit auf den Weg geben (putExtra) und sie am Ziel auslesen (getExtras).

Es ist nicht vorgesehen, dass du als Anwendungsprogrammierer selbständig Activitys instantiierst. Die würden dann meiner Schätzung nach auch an der Activity-Verwaltung des Systems vorbei existieren.

gibt es keine möglichkeit um zwischen objekten von activities hin- und herzuschalten?

Intents sind der vorgesehene Weg.


Felix.

Antworten
Felix
  • Forum-Beiträge: 3

24.12.2011, 13:19:48 via Website

also wie ist das gemeint?
ich erstellen eine klasse Spieler die von Activity erbt und deklariere da die eigenschaften spielernummer und punktezahl, oder muss ich die in der Haupt-Activity deklarieren??

und ich kann dann mit putExtra sozusagen dem intent mit dem ich die activity starte die werte mitgeben?

Antworten
Felix
  • Forum-Beiträge: 259

24.12.2011, 14:50:12 via Website

Tach!

ich erstellen eine klasse Spieler die von Activity erbt und deklariere da die eigenschaften spielernummer und punktezahl, oder muss ich die in der Haupt-Activity deklarieren??

Activitys sind selbständige Wesen und niemand garantiert, dass neben der aktuellen Activity noch irgendeine andere Activity am Leben ist. Du musst davon ausgehen, dass die Activity die einzige laufende ist und kannst nur das verwenden, was dir die Activity selbst zur Verfügung stellt. Das wären beispielsweise Zugriffe auf den rufenden Intent oder Ressourcen oder Aufrufe anderer Dinge (Intents, Services, Content Providers). Ansonsten gehen noch die in Java üblichen Dinge, die keine Objekt-Instanzen anderer Activitys erfordern, wie statische Klasseneigenschaften. Das ist aber nicht unbedingt saubere Programmierung und zwischen Activitys nicht notwendig, weil du da den Intent und seine Extras hast.

und ich kann dann mit putExtra sozusagen dem intent mit dem ich die activity starte die werte mitgeben?

Ja, lies doch bitte mal ein paar Grundlagentutorials und aus dem Dev-Guide-Abschnitt mindestens die „Framework Topics“ von „Activities“ bis „The Android Manifest.xml File“. Sowas ist Grundlagenwissen der Android-Programmierung.


Felix.

— geändert am 24.12.2011, 14:50:31

Antworten
Felix
  • Forum-Beiträge: 3

29.12.2011, 21:02:34 via Website

könntest du mir bitte nochmal grundlegend erklären was ein intent ist?? :bashful:

Antworten
Felix
  • Forum-Beiträge: 259

30.12.2011, 01:42:54 via App

Felix
könntest du mir bitte nochmal grundlegend erklären was ein intent ist?

Auch diese Frage wird in den Grundlagentutorials ausreichend erklärt. Kurz gesagt, Intents sind der vorgesehene Weg, andere Activitys aufzurufen.


Felix.

Antworten