S
stoli
Stammgast
- 95
Hi Leute,
Ich versuche mich gerade mit Android App Programmierung auseinander zu setzen und wollte ein Java Programm portieren.
Mit dem Gedankengang: "Android verwendet ja auch Java, wir schon nicht so ein Problem sein" im Hinterkopf habe ich mich ans Werk gemacht.
Aber dann traf mich der Blitz der Erkenntinis ... Java != Android-Java.
In Java kann man wunderbar mittels setter und getter Objekten in anderen Ojekten übergben, auch komplette ArrayList mit Objekten. Andoid zeigt mir den Vogel.
Nach ein wenig Suche bin ich auf Parcelable aufmerksam geworden. Die funktionsweise ist mir einigermaßen klar, aber dann auch wieder nicht.
In Java hab ich das zum Beispiel so gelöst (Pseudo Code)
Normalerweise konnte ich nun mit player.get(0).getCardDeck(). die komplette ArrayList des Player Objektes abrufen und sogar mit
player.get(0).getCardDeck().get(i)... die einzelnen Karten wieder abarbeiten. Und das ging auch super über Klassen hinweg, den eigentlich möchte ich jetzt einer GUI Activity die ArrayList mit den player Objekten übergeben und mit deren Informationen die Oberfläche zeichnen, doch dazu muss ich natürlich auch an die Informationen welche in der ArrayList der Spieler mit den Karten liegt.
Tut mir leid das ich meinen genauen Code nicht mehr verfügbar habe, aber ich hoffe es ist einigermaßen verständlich. Mir stellt sich jetzt die Frage wie ich hier mit parcelable arbeiten muss, oder gibt es hier in Android auch "einfachere" Methoden. Oder ist das schlichtweg unmöglich?
Danke.
Gruss
Stoli
Ich versuche mich gerade mit Android App Programmierung auseinander zu setzen und wollte ein Java Programm portieren.
Mit dem Gedankengang: "Android verwendet ja auch Java, wir schon nicht so ein Problem sein" im Hinterkopf habe ich mich ans Werk gemacht.
Aber dann traf mich der Blitz der Erkenntinis ... Java != Android-Java.
In Java kann man wunderbar mittels setter und getter Objekten in anderen Ojekten übergben, auch komplette ArrayList mit Objekten. Andoid zeigt mir den Vogel.
Nach ein wenig Suche bin ich auf Parcelable aufmerksam geworden. Die funktionsweise ist mir einigermaßen klar, aber dann auch wieder nicht.
In Java hab ich das zum Beispiel so gelöst (Pseudo Code)
Code:
Class Spieler (String name) {
//Beschreibt einen Spieler und hält
// sein Kartendeck Mit getCardDeck erhält man die ArrayList mit
// den Karten
cards ArrayList<Card> = new ArrayList Card;
this.name = name;
}
Class Card { //Klasse welche die Karten beschreibt
int Farbe
int value
}
Class CardDeck {
//diese Klasse generiert automatisch ein Kartendeck
// welches mit get-Methode getCardfromDeck eine Karte abgerufen wird
cardDeck ArrayList<Card> = new ArrayList Card;
}
Class Main { //Die Main Class
CardDeck carddeck = new cardDeck();
players ArrayList<Player> new ArrayList<Player>
player.add(new Player("a"));
player.add(new Player("b"));
player.add(new Player("c"));
player.add(new Player("d"));
for {...
player.get(0).addCardToPlayerDeck(carddeck.getCardfromDeck());
// Hier werden wür alle Spieler die Karten in einer Schleife zugeteilt.
..
..
... }
}
Normalerweise konnte ich nun mit player.get(0).getCardDeck(). die komplette ArrayList des Player Objektes abrufen und sogar mit
player.get(0).getCardDeck().get(i)... die einzelnen Karten wieder abarbeiten. Und das ging auch super über Klassen hinweg, den eigentlich möchte ich jetzt einer GUI Activity die ArrayList mit den player Objekten übergeben und mit deren Informationen die Oberfläche zeichnen, doch dazu muss ich natürlich auch an die Informationen welche in der ArrayList der Spieler mit den Karten liegt.
Tut mir leid das ich meinen genauen Code nicht mehr verfügbar habe, aber ich hoffe es ist einigermaßen verständlich. Mir stellt sich jetzt die Frage wie ich hier mit parcelable arbeiten muss, oder gibt es hier in Android auch "einfachere" Methoden. Oder ist das schlichtweg unmöglich?
Danke.
Gruss
Stoli