(newbie) Java/Android development lernen.

  • 10 Antworten
  • Letztes Antwortdatum
V

Visse0704

Neues Mitglied
2
Hallo und einen schönen guten Tag.

Seit einiger Zeit Spiele ich mit dem Gedanken mir das programmieren von Java ( spezialisiert Richtung Android) beizubringen.

Aber wie bei vielen Sachen, ist es einfach so als wenn man mit verbundenen Augen in einem Wald ausgesetzt wird :D.
Darum wollte ich mir erste Anregungen holen, wie ich starten kann.

1. Ich möchte gerne das programmieren richtig lernen.
Sprich ich möchte nicht nur das Arbeiten mit Baukästen erlernen, sondern möchte Java richtig programmieren können.
Habe jetzt schon einige tutorials etc gesehen und gelesen die sich aber viele nur auf so einfache Baukästen beziehen.
Ich möchte Java und die Materie an sich erlernen und kennenlernen.
2. Ich habe an sich keine spezifische Richtung, in welche Art von App es gehen soll.
Das heißt für mich, dass ich mich sowohl in die Materie von games einarbeiten will, aber auch andere Funktionen wie zum Bsp ein Musikplayer oder ähnliches Codes möchte.

Nun ist meine Frage/bitte ob mich jemand vill in diesen Wald begleiten kann, oder mir zumindest erste Zeichen/Wege aufzeigen kann.

Kennt ihr evtl YouTube channels, die schon ausgereift sind, wo man gut und umfassend lernen kann?
Könnt ihr mir eine Literatur empfehlen?
Habe gelesen das Buch "Android app Entwicklung für dummies" von Michael burton und Donn Felker soll sehr gut sein für Einsteiger?
Grundsätzlich wurde ich schon paar mal von dieser "für dummies" Reihe enttäuscht, weil es oft halt zu vereinfacht geschrieben wurde und es mehr den Eindruck macht, Dass sie ein Thema jemanden erklären wollen, der seit 200 Jahren nicht mehr lebt...
Ein Buch, was meiner ur Oma erklären würde, was Android ist, bringt mir auch nicht viel.
Gibt es gute Blogs oder ähnliches, die jemanden einen Weg aufzeigen können, wie man startet und bis man die ersten Schritte geschafft hat.


Würde mich riesig freuen.
Bei weiteren Fragen werde ich mich melden.

Besten Dank schonmal.
 
Hallo
ich würde dir Empfehlen erst mal die Grundlagen von Java zu lernen. Dabei entwickelst du dan mit der Zeit ein Gefühl für das Programmieren und kannst dich, wenn du die Grundlagen drauf hast an Android wagen. Allgemein empfehle ich dir erst mal die Grundlagen zu lernen und dir danach spezifischeres wissen wie die Herangehensweißen an die Spieleentwicklung zu lernen.
Ein gutes Buch das ich dir zum lernen von Java Empfehlen kann ist "Java ist auch eine Insel". Das findest du als Openbook legal und kostenlos im Internet.
Direkt mit der Entwicklung von Android Apps anzufangen halte ich persönlich für eher kontraproduktiv.

Mit freundlichen Grüßen
Feuerstern
 
Zuletzt bearbeitet:
Da kann ich meinen Vorgänger nur beipflichten. Mach Dich erst mal mit den Grundlagen von Java vertraut. Am besten in dem du irgendetwas kleines programmierst, was du gerne haben möchtest.

Ein anderes gutes Buch ist "Java von Kopf bis Fuß" Java von Kopf bis Fuß
 
Hey als Einstieg kannst du dir diese Playlist mal angucken:
Java Tutorial für Anfänger - YouTube

Es ist nicht komplett, und es erklärt auch nicht alles, wie Generics zum Beispiel, aber als Einstieg kannst du dir durch die Videos mal ein gutes Bild machen. Vor allem mag ich seine Erklärung von Objektreferenzen an Hand von Textdateien im letzten, 16ten Video

Auf jeden Fall "Die Insel" als Hauptlektüre benutzen, wie schon erwähnt. Diese ist sehr Umfangreich und wird von vielen gerne als Referenz und Nachschlagewerk benutzt.
Ich füge mal den Link dazu hier ein: Rheinwerk Computing :: Java ist auch eine Insel - index

Ansonsten kannst du dich immer noch auf die Tutorien und Dokumentationen von Oracle beziehen : The Java™ Tutorials
Obwohl Die Insel schon so recht alles Wichtige abdeckt.

Für Android kannst du dich auf jeden Fall auch auf deren gute Doku verlassen und dann hier starten : Getting Started | Android Developers


Also erstmal wie schon vor mir erwähnt Java, das ist schon nicht gerade wenig, vor Allem wenn du noch keine Programmiererfahrung hast.

Und dann Android ist ebenfalls nochmal sehr viel, weil es eben ein großes Framework ist und man viele Eigenheiten beachten muss.

Also bei mri war das so: Java konnte ich mir in 4 Wochen aneignen, aber nur weil ich davor auch schon C++ hatte. "Aneignen" bedeutet es benutzen zu können ich bin kein MEister der Sprache. Und Android gibts immer was zu entdecken, jetzt nach einem JAhr fühle ich mich als ob ich gerade mal 10% Ahnung habe von dem Stoff.

Auf jeden Fall eignet sich Android Programmierung nicht für Programmier Neulinge.
Aber wenn du dran bleibst und keine Berührungsängste hast dann wird das schon was.

Viel Erfolg
 
Zuletzt bearbeitet:
Vllt hilft dir hier mal ein Gerüst das ich mir damals mal erstellt habe aus Der Insel:

Code:
package TestPackage;

public class ObjectOrientedJavaClass {


    //class variables
    static int A_STATIC_CLASS_VAR;
    static final int A_STATIC_FINAL_CLASS_VAR=0;
    static ObjectOrientedJavaClass A_STATIC_CLASS_OBJECT;
    //

    //static initializing blocks
    static
    {
        System.out.println("class initializing block");
    }
    //

    //object variables
    public String aPublicObjectVariable="Hello, I'm a public member and everyone can see me";
    protected String aProtectedObjectVariable="Hello, I'm a protected member and only sub classes, package classes can see me";
    String aPackageObjectVariable="Hello, I'm a package visible member and only classes in the package my class is in can see me";
    private String aPrivateObjectVariable="Hello, I'm a private member and only this class' objects can see me. Better use a getter and setter to let the others access me ;)";
    //

    //initializing blocks
    {
        System.out.println("object initializing block");
    }
    //

    //Constructors
    ObjectOrientedJavaClass()
    {
        System.out.println("default constructor");
    }
    //

    //static methods
    public static void main(String[] args)
    {
        ObjectOrientedJavaClass obj=new ObjectOrientedJavaClass();
        System.out.println("public meber = "+obj.aPublicObjectVariable);
        System.out.println("protected meber = "+obj.aProtectedObjectVariable);
        System.out.println("package meber = "+obj.aPackageObjectVariable);
        System.out.println("private meber = "+obj.getAPrivateObjectVariable());
    }
    //

    //Getter()- and Setter()-methods
    public String getAPrivateObjectVariable()
    {
        return aPrivateObjectVariable;
    }

    public void setAPrivateObjectVariable(String aPrivateObjectVariable)
    {
        this.aPrivateObjectVariable=aPrivateObjectVariable;
    }
    //

    //object methods
    public void aPublicMethod()
    {
        System.out.println("public method");
    }

    protected void aProtectedMethod()
    {
        System.out.println("protected method");
    }

    void aPackageMethod()
    {
        System.out.println("package method");
    }

    private void aPrivateMethod()
    {
        System.out.println("private method");
    }
    //
}

Ausgabe:
class initializing block
object initializing block
default constructor
public member = Hello, I'm a public member and everyone can see me
protected member = Hello, I'm a protected member and only sub classes and package classes can see me
package member = Hello, I'm a package visible member and only classes in the package my class is in can see me
private member = Hello, I'm a private member and only this class' objects can see me. Better use a getter and setter to let the others access me ;)

Daran siehst du zum Beispiel wie du am Besten Klassen in deinen Quellcodes strukturierst, damit es für andere Programmierer leichter zu lesen ist:

-Klassenvariablen
-statische KlassenInitialisierungsblöcke
-Objektvariablen
-Objekt Initialisierungsblöcke
-Konstruktoren
-statische Klassen Funktionen
-Getter und Setter
-Objektmethoden

und alles nach Sichtbarkeit untereinander geordnet:
-public
-protected
-package visible
-private


und siehst auch wann was aufgerufen wird und an Hand der Namen deren Sichtbarkeiten.
 
Zuletzt bearbeitet:
Java als Einstiegssprache ist nicht ohne, die meisten haben große Probleme mit der Polymorphie. Ich habe mir mehrere Bücher geschnappt, und habe einfach angefangen. Für die Vererbung habe ich mir UML angeschaut.
Die obere Liste würde ich noch um die Begriffe:

Klasse,
Interface,
abstrakte Klasse

erweitern.
 
Natürlich es gibt so vieles was man lernen muss. Mein Beispiel ist für ihn wohl noch etwas vorgegriffen, es geht ja nur um Strukturierung einer Klasse und ein paar wenigen Sachen die man wissen sollte.

Bis dahin muss man ja noch Sachen wie Variablen, Funktionen,Arrays, Kontrollstrukturen etc. pp. lernen.

Aus UML wurde ich am Anfang so gar nicht schlau
Die PFeile für Vererbungen waren für mich falsch herum und ach all der Aufwand es zu lesen. Ne, das war nichts für mich gewesen :D
 
Die Pfeile haben schon die richtige Richtung. Einfache Mengenlehre. ;)
 
  • Danke
Reaktionen: Jaiel
Hast du bereits Grundkenntnisse über Variablen, Methoden und co?
Wenn nein, kann ich dir empfehlen mit Greenfoot anzufangen, dass ist zwar so halb ein Baukasten, aber damit kannst du dich zu erst um das Schreiben von Methoden und Klassen kümmern.
==> Du kannst damit lernen:
Vererbung, schreiben von Methoden, Parameter, Variablentypen, Objektorientierung, Getter/Setter, If-Else, Schleifen,...

Wenn du das kannst, würde ich mit einer Entwicklungsumgebung wie NetBeans weiterarbeiten.
Dann kannst du dir beibringen komplett selbstgeschriebene Programme zum laufen zu bekommen, dazu gehört dann noch nochmal mehr dazu.
Ich habe z.B. ein Schachspiel geschrieben, das für 2 Spieler ist und die Einhaltung der Regeln kontrolliert.
Deiner Kreativität sind hier keine Grenzen gesetzt.
Je nachdem was du dann programmierst wirst du wahrscheinlich auf Arrays, Serialisierung, Datenströme, Grafik und Exceptions stoßen.
Nachdem du das hast kannst du eigentlich machen was du willst ;)

Mann muss nicht alles über eine Programmiersprache wissen um sinnvolle Sachen zu programmieren und es gilt das Motto: "Learning by doing".

Literatur wurde ja bereits empfohlen.

Viele Grüße,
Lars
 
Denn besten Tipp, denn man Dir als Anfänger geben kann, fange einfach an. Der Rest kommt dann von selbst. Und nicht sofort aufgeben!!!!
Neugier hilft dabei enorm.
 
Noch ein Nachtrag falls du dich mal wieder hier melden solltest: http://www.inabrenner.de/pdf/SCJP.pdf
Gehe ich gerade selber durch, da ich mit dem Gedanken spiele damit anzufangen mich zertifizieren zu lassen, Ist zwar schon etwas älter aber das Wichtigste ist hier kompakt erklärt. Nicht Anfängerfreundlich, aber falls du dich sicher fühlst in Java kannst du dich dort testen bzw. dein Wissen festigen
 

Ähnliche Themen

D
Antworten
23
Aufrufe
3.629
Data2006
D
S
Antworten
2
Aufrufe
466
swa00
swa00
K
Antworten
3
Aufrufe
402
mezzothunder
mezzothunder
Zurück
Oben Unten