Beiträge von Florian

    Hallo!


    Tja, Objektorientiert programmieren willst du also? Für Android oder allgemein?
    OOP: Schau mal bei den openbooks von Galileo, da gibts eins über OOP. Wenn du das durchhast und alles verstanden hast, stehst du sicher in der Welt der Objekte.
    Android: Hier gibts einige Tutorials, ansonsten gibts auf der android.com-Seite auch noch die Reference. Ich selber bin gerade dabei, einen Crashkurs zu schreiben. Aber der wird erst im Frühjahr / Sommer 2011 fertig werden.
    Wenn du nicht für Android sonder allgemein OOP machen willst, meld dich nochmal, dann geb ich dir mal ein paar Links ;)


    mfg Florian

    Du wirst bestimmte Code-Stellen anpassen müssen. Ich denke nicht, dass es dafür schon ein Tool gibt. Aber die Programmiersprache für Android ist ja eigentlich Java, also hält sich die Übertragung wahrscheinlich in Grenzen. Ein paar Klassen müssen von anderen abgeleitet werden, etc. Das ist zu schaffen ;)


    mfg Florian

    Meiner Meinung nach kommt es darauf an, wie die Erklärungen rund um den code konstruiert sind. Es gibt Bücher, die erklären einem was der Befehl Print macht, nicht aber was es mit overload auf sich hat. Mit ein bisschen Englisch kann man sich bei Print schon was vorstellen, aber ohne OOP ist overload n weißes Fleckchen im Gehirn. Von dem her besorg ich mir meine Literatur zum Programmieren am liebsten aus dem Internet. Oder ich ergänze Literatur in Buchform zumindest mit Inhalten aus dem Netz. Bin so bisher immer gut gefahren und kann jetzt mal behaupten, dass ich in Delphi so ziemlich an der Spitze eines Hobbyentwicklers angekommen bin und mit C# und Java auch keine Probleme habe. Von den anderen Dingen (PHP, JavaScript, ...) mal ganz zu schweigen.
    Nützlich finde ich es allerdings immer schön, wenn zu Ende des Beispiels nochmal der gesamte Code am Stück vorhanden ist. Komm ich leichter mit zurecht als mit einzelnen Zeilen. Das kann aber auch daran liegen, dass ich vom Programmier-Können und der Erfahrung (9 Jahre) schon eher tief in der Materie drinnen bin und eigentlich nur noch die verschiedenen Konstrukte einer Sprache lernen muss, um was ordentliches mit ihr machen zu können. Für Anfänger ist es mitunter aber sicher hilfreich, wenn sie ihre Beachtung einer Zeile nach der anderen widmen. Das wird in dem Crashkurs, den ich vor einigen Tagen begonnen habe zu schreiben, am Anfang auch so sein. Zum Ende hin, soll aber mehr Wert auf das Konzept als auf den Code gelegt werden (sicher wird auch Code vorhanden sein, aber es wird tiefer in die Materie, sprich Theorie, hineingehen, als auf das bloße Coden von kleinen Anwendungen). Ich hoffe ich bring ihn bis in den Frühling fertig. Muss nebenher allerdings auch noch Abschlussarbeit (100 Seiten) und Abi machen, also könnte es mit dem Termin auch etwas später werden (Sommer).


    Schöne Grüße,
    Florian

    Freut mich zu hören, das es vorangeht :)
    Errorhandling: Wichtig! Gut das du da schon von Anfang an darauf achtest.


    Du könntest auch einfach ein abstrakte Klasse erstellen und davon dann ableiten. Erspart etwas Arbeit und macht die Sache leichter zu warten.


    mfg Florian

    Hmm. Du könntest eine Klasse schreiben, der du eine ID (Pflanze{3}) übergibst. Diese Klasse liest dann alle Attribute dafür ein.
    Was, wenn du jetzt zB das Gewächshaus darstellen sollst. Da hast du doch zuerst mal folgendes: Ein Rechteck mit ein paar Pünktchen. Für diese Ansicht benötigtst du eigentlich nur die Ausmaße des Gewächshauses und die Anzahl der Pflanzen. Wird jetzt eine Pflanze ausgewählt kannst du die Daten dazu nachladen. Das dürfte doch sehr ressourcenschonend sein oder?


    So auf die Schnelle fällt mir auch nichts ein. Vielleicht kommt noch was nach bis morgen, dann meld ich mich.


    wfg Jon

    Gut, dann kann ich von deiner Seite ja einiges an Wissen voraussetzen. Das vereinfacht die Sache :)


    Ich hatte mal ein ähnliches Problem. Da hab ich dann folgendes gemacht:
    Eine Sonnenblume würde beispielsweise so gespeichert:


    Also egal für welches Object (ob Elternklasse oder Kindklasse) wird eine Tabelle angelegt. Jedes Kind hat einen Verweis auf die Elterntabelle, in der auch ein Datensatz für sie abgelegt sind in dem die von der Elternklasse implementierten Attribute gespeichert sind (Die Klasse Pflanze stellt die Attribute Größe, Alter und Gewächshaus zur Verfügung; Die Klasse Sonnenblume erweitert diese Attribute um die Körneranzahl, Gänseblümchen um die Blätteranzahl). So ist es auch möglich von Sonnenblume eine weitere Klasse abzuleiten und trotzdem werden alle Attribute gespeichert (KindVonSonnenblume verweist auf Sonnenblume verweist auf Pflanze).


    mfg Jon

    Lediglich bei den Missionen ist es gescheitert, da das ganze Programm ein hoffnungsloser Spaghetticode war und jede Erweiterung Änderungen an x Stellen notwendig machte.


    Eben. Deshalb OOP. Dann kannst du ganz einfach auch verschiedene Pflanzen erstellen. Basistyp: Pflanze; Kinder: Gänseblümchen, Sonnenblume, etc. Die Kinder erben vom Basistyp alle Grundlegenden Eigenschaften und Methoden. Das erleichert die Erweiterung enorm und auch die Lesbarkeit des Codes ist hoch.


    mfg Jon

    OK, hab ich jetzt verstanden, danke :)


    Ich würd das mal testweise sehr klein machen und dort verschiedene Dinge austesten:


    GEWÄCHSHAUS:
    Größe: Breite, Höhe (1x1 = 1Samen hat platz; 3x2 = 6 Samen haben Platz)
    Plätze: Verweis auf eine Pflanze oder ins Nirgendwo (NULL).


    PFLANZE:
    Größe: Wie groß ist die Pflanze schon...
    Zubehör: Verweise auf ein Zubehör (bspw. eine Lampe)


    Auto und Mission und etc. würde ich erstmal weglassen und erst nach einer erfolgreichen Implementierung dieser Version implementieren.


    wfg Jon

    Naja, es ist halt ein Managerspiel, wo nichts wirklich in Echtzeit läuft (außer das Pflanzenwachstum), sondern alle Aktionen des Spielers (Plfanze gießen, Auto kaufen) in der Datenbank gespeichert werden und sich auf spätere Aktionen auswirken (Auto wird angezeigt wenn Grundstück aufgerufen wird).


    Die technische Vorgehensweise hatte ich weiter oben eigentlich schon recht ausführlich beschrieben, oder willst du mehr über den Spielinhalt erfahren?


    Mich interessiert, wie das Spiel ablaufen soll, was es für Module gibt, was die Story ist, etc. Über die Technik würde ich ja gerne mit dir diskutieren, also wie du was am besten angehst (quasi die Entwicklung eines Konzepts).


    mfg Jon

    Ordentliche Planung von Struktur, Objektmodell und Abstraktion sind ja ganz toll, aber ich will endlich anfangen zu Programmieren...!!! ;(


    Das kann ich auch verstehen, aber gerade bei einem solchen Projekt lohnt es sich sicher, wenn du dich noch zwei bis drei Tage OOP-Literatur widmest. Dann kannst du dein Spiel objektorientiert aufbauen, was sich später sicher als Vorteil herausstellt. So kannst du beispielsweise später ganz einfach neue Eigenschaften einführen und du hast sofort überall Zugriff darauf. Du musst auch nicht alles sofort kapieren, aber wenn du noch einmal ein wenig darüber liest, kommst du vielleicht auf Ideen, die dir danach die Programmierung enorm erleichtern werden.


    mfg Jon

    Schonmal nicht schlecht, aber gerade im Hardware und ROM Berreich müssen wir meiner Meinung nach umbauen. Gerade da fehlt uns noch wirkliche Struktur, oder täusche ich mich?


    ROM würd ich so lassen. Bei der Hardware gibt es eben das Problem, dass es viele Geräte gibt. Für jedes ein eigenes Forum ist overload. Prefixe für die Themen wäre sicher eine gute Lösung (zB "[Nexus 1] ... "). Ist sowas machbar. Ansonsten müsste der Autor das eben selber eintippen.


    Ansonsten: Einteilung in Hersteller (wie viele gibt es denn da?) oder nach verwendeter Android-Version


    mfg Jon

    Hallo!


    Ich hab mir mal ne mögliche Strukturierung überlegt:


    Android-Developers

    • Ankündigungen
    • Feedback
    • News aus der Android-Welt


    Android

    • Datenbank-Programmierung
    • Multimedia / Spiele / Grafik
    • Java - Die Sprache
    • Entwicklungsumgebung
    • Konzeptentwicklung
    • Sonstiges
    • Anfängerfragen
    • Tutorials


    Market

    • Vorstellung eigener Projekte
    • Erfahrungsberichte
    • Softwarewünsche


    Off-Topic

    • Off-Topic


    Android-Hardware / Zubehör

    • Wie bisher


    Android-ROMs

    • Wie bisher


    Was haltet ihr von dieser Aufteilung


    mfg Jon

    Die Umfrage mache ich, da ich für ein Projekt (nicht für Android aber für Android-Programmierer) wissen möchte, welche Plattformen ich unterstützen sollte (hat dann Auswirkungen auf die Programmiersprache und IDE).


    Folgendes ist möglich:
    Nur Windows
    Nur .NET (C# - möchte ich aber für dieses Projekt nicht verwenden)
    Nur Server (man müsste also einen Server bei sich am PC laufen haben, der PHP unterstützt, damit man das Tool verwenden kann)
    Mehrere Versionen (also zB Windows + PHP)


    Noch zusätzliche Info:
    Das Projekt steht für Windows schon zu 90%. Andere Platformen würden also noch etwas dauern.