Stammbaum-App entwickeln

S

Speedy1985

Neues Mitglied
0
Hallo zusammen,

nachdem ich nun das erste Android-App-Buch durchgearbeitet habe, möchte ich jetzt Schritt an meine eigene App wagen.

Ich möchte eine Art Stammbaum aufzeichnen. Dazu benötige ich ein großes "Blatt" bzw. eine View die dementsprechend funktioniert, welches ich mit dem Finger verschieben und zoomen kann. Was nehm ich denn dafür am besten her.

Dazu brauche ich auch eine Liste, also im Endeffekt eine Variable, in welche ich in den verschiedenen Spalten unterschiedliche Datentypen schreiben kann, also z.B. in der Ersten ein Datum, in der zweiten den Namen, dann evtl. noch eine Spalte mit Integer für die Anzahl der Kinder usw.
Gibt's dafür eine entsprechende Liste oder muss man die umständlich selbst entwickeln?

Gruß
Christian
 
So richtig solide sind deine Kenntnisse wohl noch nicht. Mit dem Layout musst du dich schon selbst befassen:

Let me google that for you

Und zu den "verschiedenen Datentypen", du kannst in ein TextView jeden String eintragen ( setText(String) ), ich sehe da dein Problem nicht.

Mfg, keinbrain :)
 
  • Danke
Reaktionen: ChrisiBoy und StefMa
Die Kenntnisse sollen solide werden, indem er nun seine erste eigene App implementiert.

Zum Thema:
Was hälst Du davon von android.view.SurfaceView abzuleiten und das Zeichnen des Baums komplett selbst zu übernehmen. Ich mein eine schicke, baumartige Darstellung wäre doch perfekt für einen Stammbaum. Einfach nur eine Tabelle willst Du ja sicher nicht.

hast dann sowas:

public class FamilyTreeView extends SurfaceView implements SurfaceHolder.Callback {

Und innerhalb der Klasse wirst Du dann eine draw Methode benutzen mit der Du direkt auf der Zeichenfläche zeichnen kannst. Linie für Linie, String für String.

Zu SurfaceView findest Du viele Beispiele im Netz, da kommst Du schnell mit klar.
Am Ende siehts sicher schick aus.

Zum Thema Datenstruktur. Mach die selbst. Ist ne gute Übung. Du findest Bäume auch in der Api, aber wie gesagt, super Übung um den Umgang mit Objekten zu lernen.
Listen (einfach und doppelt verkettet), Stacks, Queues, Bäume ... das sollte man doch alles mal programmiert haben ;-).

Hast ein KnotenObjekt, jeder Knoten kennt seine beiden Vorgänger und kennt seine Nachfolger (0..n).
Das kannst Du intern sicherlich dann über Listen machen.

public class Node {

private Node father=null;
private Node mother=null;

private List<Node> children = new ArrayList<Node>();

}

So in der Art von der Struktur. Natürlich kannst Du zusätzlich noch weitere Daten wie Geburtsdatum unterbringen.
Methoden fallen dir sicher dazu ein ;-).


Viel Spaß.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Speedy1985
Hallo Khan,

bin begeistert von deiner Hilfsbereitschaft! :smile::smile:

Schon klar, dass ich mir hier nicht den ganzen Quelltext diktieren lassen möchte. Natürlich lernt man nur, wenn man sich das ganze selbst überlegt.

Eigentlich wollte ich ja nur einen Tipp haben, welches Objekt sich am besten zum Zeichnen, Schieben und Zoomen eignet. Das hat so mancher nicht ganz verstanden denke ich... Wie auch immer!

Zum Stichwort SurfaceView werde ich mich genauer informieren und versuchen, da was schönes zu basteln.

Auch zur Datenstruktur hast du ja einige Hinweise genannt. Da mir einige davon noch nicht geläufig sind, werde ich mich auch da noch einlesen.

Vielen Dank! :thumbup:
 
Hallo,

ich merke schon, ich brauch noch etwas Hilfe.

Ich hab mir nun einige Tutorials zu zur SurfaceView angesehen, aber einige Erklärungen dazu brauch ich noch...

In meinem Buch zur Android-Entwicklung gibt's ein Beispiel in dem ein Kompass programmiert wird. Hier wird das Zeichnen der Kompassnadel auf einer Klasse gemacht, die einfach von "View" abgeleitet wird.

Welchen Vorteil habe ich denn mit einer SurfaceView genau? Kann ich diese zusätzlich zoomen und schieben?

Außerdem habe ich noch eine Frage bezüglich der Activities. Was ist denn die eigentliche Activity? Die Klasse im Quelltext? Die Layout-Datei?
Wenn ich es richtig verstanden habe, dann ist die Activity die im Quelltext generierte Klasse, die ja von "Activity" abgeleitet wird. In dieser Activity wird die Layout-Datei in der onCreate-Methode mit setContentView angezeigt. Stimmt das so? Bitte verbessern, wenn ich mich irre...

Schönen Sonntag!

Gruß Christian
 

Ähnliche Themen

R
  • raller
Antworten
15
Aufrufe
547
DOT2010
DOT2010
Chrilos
Antworten
9
Aufrufe
585
koje71
koje71
R
Antworten
3
Aufrufe
1.618
Ritartet
R
Zurück
Oben Unten