[Communityprojekt] Javakurs für Android-Programmierer

  • Hallo liebe Community!


    Ich würde gemeinsam mit euch gerne ein Projekt starten, und zwar einen


    Javakurs für Android-Programmierer


    Es gibt viele Java-Kurse im Internet, aber keinen der sich auf die für Android wichtigen Kapitel beschränkt. Ich suche deshalb Co-Autoren, die mir Inhalte zur Verfügung stellen, Beispiele schreiben, etc. Zusammengefasst wird das ganze von mir in ein HTML-Archiv. Wer also ein Beispiel hat kann es mir gerne zur Verfügung stellen. Bezahlung kann ich keine anbieten, aber wer Inhalte bereitstellt, bekommt einen Platz in der Autorenliste.


    Ich hab mir folgende Struktur überlegt:


    Java - Die Sprache
    - Syntax
    - Variablen und Konstanten
    - Schleifen
    - Verzweigungen
    - Objektorientierung


    Programmierung für Android
    - Hallo Welt - Beispiel
    - Was stellt uns Android zusätzlich zu Java zur Verfügung
    -


    Benutzeroberfläche mit Android
    - Layouts, Views, etc.
    -


    Datenbankprogrammierung mit Android
    - SQLite allgemein
    - Datenbankabfragen mit Android
    -


    Ergänzungsvorschläge sind erwünscht.


    Meldet euch einfach hier im Forum, oder per PN bei mir, wenn ihr Fragen / Vorschläge / Inhalte habt.


    mfg Florian


    PS: Vielleicht kann whitenexx dem Projekt ja ein bisschen Webspace zur Verfügung stellen, damit die aktuelle Version immer für alle verfügbar ist?

  • Schöne Idee! ;)
    Ich würde zu "Programmierung für Android" nicht nur ein
    Hello-World Beispiel abgeben, sondern auch etwas ausgereiftere.
    Damit meine ich z.B. das Abfangen von Bewegungen auf dem
    Touchpad. Dass man z.B. besondere Gesten zeichnen muss.
    Dafür wäre das "Haus vom Nikolaus" sehr schön geeignet. ;)
    Ich kann mir vorstellen, dass das komplex ist, aber ein guter
    Einstieg für Android ist.



    MfG
    qixx

  • Ja das obere Inhaltsverzeichnis sind nur mal meine Gedanken, die ich während dem Schreiben hatte. Das HalloWelt-Beispiel soll nur dazu dienen, damit die, die den Kurs lesen, schon sehr bald die erste funktionsfähige Anwendung geschrieben haben. Das hält sie am lesen. Wenn sie erst mal 45min lesen müssen um dann ne Anwendung geschrieben zu haben, von der sie nichts verstehen, bringt in meinen Augen wenig. So ein Beispiel wie du genannt hast würd ich dann im Intermediat-Abschnitt hernehmen, um verschiedene Themen anzusprechen (Gesten, etc.).
    Bin gerade dabei, ein System mit PHP zu schreiben, das man möglicherweise online stellen könnte. Mal schauen, wann das dingen soweit fertig ist, das ich mich traue, auch andere darauf los zu lassen ;)
    Erst mal werd ich das System bei mir zu Hause am Server testen und entwickeln.
    Das Android-Dev.-Team wollte eigentlich ein Wiki installieren, aber die Entwicklung wird von einer FreeWare-Gruppe gemacht und die haben anscheinende derzeit nicht so viel Zeit. Jedenfalls warten wir schon länger darauf, dass die erste stabile Release veröffentlicht wird. Das wäre natürlich die optimale Lösung für so einen Kurs. Dann könnten alle direkt daran mitarbeiten und müssten nicht den Umweg über mich gehen. Aber vielleicht wird es ja was in den nächsten Tagen / Wochen / Monaten ;) Wär auch gut, weil in etwa 1 Monat hab ich nicht mehr so viel Zeit wie ich mir wünschen würde, mich Android und dem Kurs zu widmen. Dann wäre es gut, wenn andere direkt daran weiterarbeiten könnten.


    Schöne Grüße,
    Florian

  • Ich hab mir da mal eine Probeseite gebastelt, wie ich mir das Design vorstelle.


    Was haltet ihr davon? Design ist zwar nicht das wichtigste, aber man lernt doch lieber aus einem Kurs, der ein schönes Design hat, als aus einem, der aussieht als ob er vor 20 Jahren gemacht wurde.


    Viele Grüße,
    Florian

  • Sieht so schon super aus!
    Was mir gerade einfällt: Wenn du ein "Codewort" im
    Text benutzt, also nicht extra ein "Codefeld" erstellst,
    würde ich es auf jeden Fall mit anderer Schriftart
    (Courier New) und einem andersfarbigen Hintergrund
    hervorheben. (Wie im Anhang - Da habe ich das Tutorial,
    das du mir gegeben hast im .css etwas optisch angepasst. ;))



    MfG
    qixx


  • Was das größte Problem darstellen wird, ist die Sicherheit der PHP-Skripte, wenn ich das ganze wie ein Wiki aufziehe. Nicht das n Hacker die ganze Arbeit vernichtet ;). Deshalb ist erstmal Testing, testing, testing angesagt.


    Ist bereits so implementiert ;).
    Werd für Codebeispiele glaub ich nen JavaScript-Highlighter verwenden. Hab schon öfters mit ihm gearbeitet und er ist echt gut. Hab da noch ein paar Anpassungen eines bereits bestehenden gemacht damit er so parst wie ich es gerne hätte. Werd mich mal mit whitenexx in verbindung setzen, ob er mir ne subdomain zur verfügung stellt.


    mfg Florian

  • Hab ich mir auch schon überlegt, aber ich möchte das nicht so oversized machen. Dokuwiki und die ganzen Wikis kenne ich auch, aber naja, alle entweder oversized oder sonst irgendwelche Mängel. Meine bevorzugte Variante wäre, Dokuwiki umbauen, aber das wäre sehr umständlich. Deshalb hab ich mir überlegt, es einfach selbst zu machen, dann weiß ich welches Stück Code wo ist ;)


    mfg Florian

  • Das musst du natürlich selbst entscheiden. ;)
    Wäre nur wesentlich einfacher, ein fertiges Skript
    zu nehmen (logisch). :D
    Naja, bin mal gespannt, was du draus machst!



    MfG
    qixx

  • Ich hab mich jetzt für eine PHP-HTML-Mischung entschieden. Es gibt nur eine PHP-Datei, die die Inhalte dynamisch aus Flatfiles ladet. Das gibt mir die Sicherheit, dass Sicherheitslücken nur in einer 1kB-Datei auftreten können und keine SQL-Injections möglich sind. Der zweite Vorteil in dieser Methode ist, dass ich auch im Nachhinein das Design noch ändern kann und sofort in allen Dateien wirksam wird. Auch die Geschwindigkeit ist sehr hoch, da keine Datenbank-Abfragen notwendig sind und sich auch das Parsen in Grenzen hält (lediglich Codebeispiele müssen geparst werden, um Syntax-Highlighting zu verwenden). Ich werd in den nächsten Tagen mal eine Probewebsite hochladen - entweder hier in einer Subdomain oder auf einer neuen Website bei einem freehoster, dann können wir über die Inhalte und das Design reden. Ich werde auch noch einige Tests auf valides XHTML laufen lassen, um die Browser-Kompatibilität soweit wie möglich zu garantieren. Im Zweifelsfall wird auf Google-Chrome optimiert.


    Schöne Grüße,
    Florian

  • Bezüglich Browserkompatibilität: Google Chrome (5.0.375.127), Mozilla Firefox (4.0), Internet-Explorer (8) zeigen alles korrekt an. Lediglich kleine Vorteile hat Google-Chrome bei der Abrundung diverser Ecken. Das lässt sich glaube ich für den Feuerfuchs noch implementieren.


    mfg Florian

  • Ja genau, mit -moz-border-radius:WERT;
    Schön zu hören, dass es vorangeht. Die Idee mit
    nur einer PHP habe ich auf meiner Seite auch so
    umgesetzt. ;)



    MfG
    qixx

  • Ja genau, mit -moz-border-radius:WERT;
    Schön zu hören, dass es vorangeht. Die Idee mit
    nur einer PHP habe ich auf meiner Seite auch so
    umgesetzt. ;)


    Danke für den Tipp mit -moz-border-radius :) Hab schon Ewigkeiten keine Website für Mozilla mehr optimiert. Nur noch für Google Chrome und die anderen hab ich so hingebogen, dass es auch halbwegs vernünftig aussah ;)
    Nue 1 PHP-Seite hat den Vorteil, dass man eben die Fehler nur in der einen haben kann. Auch dass die Inhalte in Flatfiles sind haben den Vorteil, dass man sie ganz einfach verändern kann (ist ja bei MySQL, SQLite, etc. nicht der Fall).
    Ja werd mal noch ein paar Tage am Design und der Technik rumschrauben und dann mal herzeigen. Bin gerade dabei CSS-Klassen für alles möglich / erdenkliche zu erstellen, was man mal brauchen könnte.


    mfg Florian

  • Changelog:
    [+] -moz-border-radius
    [+] Syntax-Highlighter eingebaug: benötigt aktiviertes Javascript im Browser
    [+] Template-System eingebaut: Damit ist es zum Beispiel möglich, im Javakurs eine Navigationsleiste einzubauen, die immer auf das vorige und das nächste Kapitel verlinkt.


    Geplat:
    * Benachrichtigungssystem: Leser können Feedback zu einer Seite abgeben. Wird in Datenbank gespeichert und kann von Team-Mitgliedern ausgelesen werden (kleiner Bugtracker).
    * Suche: muss ich noch schauen, ob da was möglich ist
    * Interna


    Für Vorschläge, Ideen, Anmerkungen hab ich ein offenes Ohr :)


    mfg Florian

  • Changelog:
    [+] Druckversion der Seiten implementiert
    [-] Benachrichtigungssystem hab ich bis auf weiteres auf die Seite gelegt. Es gibt ja das Forum


    Geplant:
    * Suche
    * PDF-Version der Artikel (muss ich noch schauen, ob sich da was machen lässt, ohne größeren Aufwand)
    * Interna


    Geplantes Release-Datum: 15. September 2010 (ist nur ein Datum für mich, das ich mir als Ziel gesetzt habe; die Entwicklung wird danach auch noch weiter gehen, aber bis zum 15.09 möchte ich alles soweit implementiert haben, dass es reibungslos funktioniert)


    Viele Grüße,
    Florian

  • Die Idee ist gut. Könnte ein schönes Community-Projekt werden! :)
    Subdomain ist kein Problem, Webspace ebenso wenig.


    Ein Wiki planen wir auch schon lange, leider ist die Entwicklung der Wikisoftware für das Community Framework was wir hier einsetzen recht langsam, sodass wir entweder was eigenes einsetzen, oder eine andere Software wie MediaWiki verwenden.


    Ihr habt also defintiv meinen Support. Als Autor werde ich sicherlich auch tätig!
    Vielleicht haben wir auch Glück und in den kommenden Tagen wird "Burningpedia" released. Das wäre natürlich das non-Plus-Ultra für uns alle, denn diese Wikisoftware integriert sich nahtlos in die Community und alle unsere Benutzeraccounts können auch in der Wiki verwendet werden und sind mit all unseren Beiträgen verknüpft.


    Florian
    Was eigenes ist sicher nicht schlecht, aber sobald mehrere Leute daran arbeiten wirds komplex. Da ist eine Wiki schon sehr praktisch, allein schon wegen dem Revisionssystem. Aber ich seh grad du machst doch schon ne richtige Software, sogar mit PDF Support? :P

  • Also die Software kann im Moment folgendes:

    • Eingesetzte Technologien: PHP, XHTML, CSS, JavaScript, Flatfiles
    • Öfters verwendete Textabschnitte können in Blöcke ausgelagert werden und über eine Funktion eingefügt werden (verwende ich derzeit für Seitenkopf, Seitenende, Kategoriebeschreibungen)
    • Druckversion: Jede Seite kann als Druckversion angezeigt werden (unnötiges Zeug wird ausgeblendet)
    • Templates: ähnlich den Blöcken, aber Templates sind fest in PHP-Code verankert
    • PDF: Bin ich derzeit dran. *work in progress...*


    WICHTIG: Im Moment muss man neue Inhalte extern erstellen und dann händisch einfügen :( also nicht für Mehrbenutzer gedacht


    DESHALB: Wenn wir Mediawiki installieren könnten wär das sicher super. Da kann man auch schön alles machen und Support haben wir auch. Die Software ist mir auch bekannt, was für die Konfiguration sicher gut wäre.


    Also ich wär im Moment für Mediawiki. Werd mein System weiterentwickeln und vielleicht mal auf einer eigenen Website testen. Wenns was gutes wird kann man es ja vielleicht ein anderes Mal gebrauchen.


    mfg Florian

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!