In Android springen oder zuerst Java-Grundlagen lernen? [geschlossen]


15

Ich beherrsche C ziemlich gut und kenne ein wenig C ++, habe aber Java nie angerührt. Vor kurzem habe ich eine Idee für eine App, von der ich glaube, dass sie Potenzial hat, und ich möchte sie entwickeln.

Ich plane, zuerst auf Android umzusteigen, da hierfür kein Mac / iPhone erforderlich ist.

Meine Frage lautet also: Kann ich direkt mit dem Erlernen der Android-Entwicklung beginnen und dabei die Java-Syntax aufgreifen und sie benötigen (ich denke, sie unterscheidet sich nicht wesentlich von C / C ++), oder sollte ich ein paar davon nehmen? Wochen, um zuerst die Grundlagen von Java zu lernen und dann mit der Android-Entwicklung zu beginnen?


17
Miyagi sagt: Lerne erst laufen, dann fliegen Daniel-San.
Joel Etherton

Überprüfen Sie dies und zeigen Sie mir Ihr großes Grinsen oreilly.com/android/index.html
Chiron

4
Kurze Antwort: Lernen Sie zuerst Java, bevor Sie mit der Android-Programmierung beginnen. Es mag für Ihre Basis- hello worldApp einfach genug erscheinen, aber etwas Komplizierteres als das, und Sie werden beim Debuggen auf Probleme stoßen, nur weil Sie einige der Macken nicht kennen. Ich werde versuchen, eine längere Antwort zu veröffentlichen (und auf einige der Anfängerfehler hinweisen, auf die ich bei SO gestoßen bin), wenn ich etwas Zeit habe.
Marvin Pinto

Sie möchten Java etwas beherrschen. Verbringen Sie also ein paar Monate damit, OOP zu lernen. Java ist eine objektorientierte Sprache. Wenn Sie OOP lernen, werden Sie Java schnell verstehen: Nehmen Sie am "Master Object Oriented Design" -Kurs auf elimincodefear.com teil - eine der besten Ressourcen zum Erlernen des praktischen objektorientierten Designs und der Entwicklung mit HW-Aufgaben
Tazo Man,

Antworten:


16

Persönlich empfehle ich, zuerst Java zu lernen, damit Sie nicht viel Zeit damit verbringen, dies und das zu googeln. Das wird Ihre Produktivität töten.

Und wenn ich ein paar Bücher vorschlagen darf, dann schlage ich Head First Android Development und / oder Programming Android vor .

Andererseits und da Sie C beherrschen und sich mit C ++ auskennen, sollte die iOS-Entwicklung für Sie einfacher zu finden sein, da Objective-C eine minimale Programmiersprache ist, die auf C aufbaut. Aber natürlich ist es Ihre Aufgabe.


Ja, ich denke auch an iOS. Ich wollte einfach keinen Mac kaufen, aber ich schätze, ich könnte einen Mini zum Laufen bringen.
Daniel Scocco

@ Daniels Ja, Mac Minis sind fähige, feine und umarmbare Maschinen.
Chiron

Wenn Sie zuerst Java lernen, machen Sie sich außerdem mit den grundlegenden APIs vertraut, die Sie ohnehin in Android verwenden werden.
Kemoda,

Ist Head First Android tatsächlich verfügbar, abgesehen von der Online-Vorschau (die angeblich ein Chaos ist)?
Eoin Carroll

11

Ich denke, Sie sollten einfach direkt einsteigen. Java ist C ++ ähnlich genug, dass Sie nur den Syntax-Buckel überwinden müssen. Sie sollten nur eine gute Referenz wie die Dietel bekommen, wie man Bücher programmiert und einfach danach strebt. Sie werden lernen, was Sie brauchen, wenn Sie mitmachen. Dank Ihrer Programmiererfahrung können Sie Ihre Apps schneller erstellen.

Ich würde auch den Busy Coder's Guide für Android und den neu gestalteten Android Developer Guide vorschlagen

Das Buch ist einen Kauf wert, da der Verfasser des Buches sehr aktiv ist und Ihnen viel bei Ihrer Lernkurve helfen kann.

Hoffe das hilft


29
Java is similar enough to C++Was zum ... Oh, du meinst syntaktisch. Nein, es ist nicht so, es sei denn, Loops sind der Höhepunkt Ihrer Karriere.
Yannis

"es sei denn, für Schleifen sind der Höhepunkt Ihrer Karriere". Das ist eine gute Linie :)
Daniel Scocco

2
@ ZaphodBeeblebrox: Ironischerweise sind Loops, wenn sie der Höhepunkt einer Karriere sind, wahrscheinlich auch das Perigäum dieser Karriere.
Joel Etherton

Ist dieser "Busy Coder's Guide" nicht etwas veraltet? Es ist 4 Jahre alt
Konrad Morawski

1
@YannisRizos: C ++ hat eine Form des Schreibens für Schleifen, Java hat zwei. Selbst eine C ++ - Person, die sich ausschließlich auf die Verwendung von for-Schleifen konzentriert, sollte daher davon ausgehen, dass sie nur 50% von Java kennt. : D
Viliam Búr

3

Ich würde ein paar Tage mit Java herumspielen, nur um zu sehen, ob es dir gefällt, und dann einfach nach rechts springen, um zu lernen, wie man sich die Hände schmutzig macht.

Ihr Programmierhintergrund hilft Ihnen dabei. Es gibt eine Menge guter Tutorial-Sites, die es Ihnen erleichtern, gleichzeitig mit Android und Java zu arbeiten. Versuchen Sie einfach, nach ihnen zu googeln. Vor allem GENIESSEN!


3
Ich werde hinzufügen, dass Sie wahrscheinlich mit 1-2 Tagen solider Anstrengung an dieser Front davonkommen können oder ein Buch wie Head First Java (es gibt auch einen Titel für Java für C ++ - Programmierer, wie ich mich erinnere). Es ist wichtig, sich daran zu erinnern, dass Android! = Java, Sie verwenden eine Menge der gleichen Syntax, aber es ist eine andere VM, die den Code ausführt, einige Dinge sind erlaubt / eingeschränkt, andere nicht usw.
Martijn Verburg

2

sollte ich mir ein paar Wochen Zeit nehmen, um zuerst die Grundlagen von Java zu lernen und dann mit der Android-Entwicklung zu beginnen?

Angesichts der Tatsache, dass Sie auf Android abzielen, ist es sinnvoll, einfach das offizielle Tutorial zu Getting Started auszuwählen und es zu studieren. Wenn es notwendig / wünschenswert ist, Java auf dem Weg zu lernen, können Sie erwarten, dass dies in diesem Tutorial erwähnt wird.

Meiner Erinnerung nach waren frühe Versionen von Android-Tutorials von akzeptabler Qualität. Ich habe allerdings eine ganze Weile nicht mehr damit gearbeitet.


0

Beantwortung eines ziemlich alten Themas, musste aber einfach, da keine der Antworten oder Kommentare das hervorhob, was ich für einen sehr wichtigen Punkt halte, nämlich "Lernen von objektorientiertem Programmieren (OOP)". Insbesondere im Lichte dessen, was OP schrieb:

... beherrschen C ziemlich gut und kennen sich mit C ++ aus, haben aber nie Java angerührt ...

Dies könnte darauf hinweisen, dass die objektorientierten Programmierkenntnisse (und möglicherweise das Design) von OP möglicherweise verbessert werden müssen. Zumindest in meinem Fall, und ich hätte eine sehr ähnliche Aussage gemacht.

Ich würde vorschlagen, zu lernen, was als "Core Java" bezeichnet wird, und zu lernen, und dann würde der Wechsel zur Android-Programmierung viel einfacher erscheinen. Der Vorteil dieses Ansatzes ist, dass Java OOP auf folgende Weise erzwingt:

  • Sauber (wie im puritanischen Sinne)
  • Leicht zu erfassen (wie in der Einfachheit)
  • Der einzige Weg (anstatt eine Alternative ohne OOP zu haben)

Außerdem kann "Core Java" für jemanden, der sich mit C / C ++ bereits auskennt, ziemlich schnell erlernt werden.


0

Ich habe mich entschieden, direkt zu Android zu springen und Java zu lernen. Der Start ist in der Regel einfach - Sie können die Android Developer Tools von der Android Developers Site herunterladen. Dort finden Sie auch einige Tutorials, die Sie bei den ersten Schritten unterstützen.

Ohne entsprechende Java-Kenntnisse wird die Android-Entwicklung jedoch bald überwältigend (zumindest für mich). Zum Glück gibt es Tutorials für diejenigen, die Java nur für die Android-Entwicklung lernen möchten . Sie finden sie hier (sie sind für Leute gedacht, die bereits eine andere Sprache wie C ++ / VisualBasic / etc. Kennen).

Eine Möglichkeit, um zu überprüfen, ob Sie über genügend Kenntnisse für die Entwicklung in Android verfügen, besteht darin, sich für ein Android-MOOC (wie dieses ) anzumelden und die Aufgaben zu überprüfen . Die Logik hinter diesem Ansatz lautet: Da die Android-Entwicklung das ist, was Sie wirklich anstreben, können Sie es sofort ausprobieren. Auf diese Weise können Sie erkennen, was Sie können und was Sie noch lernen müssen. Außerdem können Sie sich immer etwas Zeit nehmen, um Ihre Java-Kenntnisse aufzufrischen.

Viel Glück bei der Auswahl des für Sie effektivsten Weges!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.