Meiner Meinung nach ist die offizielle SDK Doku ziemlich schlecht.. und auch die Tutorials auf der Seite. Als ich mich damals eingearbeitet habe, habe ich einfach nach dem Thema gegooglet und meist gute Tutorials gefunden auf anderen Seiten. Bei spezifischen Fragen bietet Stackoverflow eigentlich immer eine Antwort.
Leider versteht man meist erst nach einiger Einarbeitungszeit, wie das ganze so funktioniert im allgemeinen. Wenn du eine kleine App entwickelst, wie einen Taschenrechner, wirst du dich nicht so weit einarbeiten müssen.
Ich bin zwar absolut kein Android Profi und habe auch nur einen Monat konzentriert für Android programmiert, aber in der Hoffnung, dass es dir etwas bringt, hier ein paar Tipps:
- Der grundlegende Aufbau einer App ist durch Activities gegeben. Du solltest quasi für jede unterschiedliche "Ansicht" eine eigene Activity haben. Wenn du z.B. ein Chat Programm schreibst, hast du eine Actvitiy für die Kontaktliste, eine für das eigentliche Chatfenster mit einem Kontakt, eine für die Einstellungen und eine für die Accountverwaltung. Andere Activities rufst du über "Intent"s auf und kannst so Daten übergeben und bekommen.
- Du wirst sicher schon diesen tollen GUI Editor bemerkt haben. Der erzeugt XML Dateien. Diese Style XML Dateien werden mit einem Inflater in ein Objekt verwandelt, was dann dargestellt wird. D.h. du musst nicht immer eine komplette Oberfläche basteln, sondern kann kleinere Elemente vordesignen. z.B.: In der Kontaktliste gibt es einzelne Elemente für die Kontakte mit Avatar und Username. Nun kannst du das Kontakt-Element schonmal vordesignen, dann mit dem Inflater zum Objekt umwandeln und brauchst nurnoch den Usernamen und den Avatar zu setzen.
- Viele Design Elemente wie ListViews oder ähnliches funktionieren auf eine erst merkwürdig wirkende aber eigentlich recht geschickte Methode: Adapter. Dabei muss man selber eine Klasse erstellen, die von einem Adapter Interface erbt und diverse Methoden überschreiben muss. Z.B. GetElement(id) oder ähnliches. Das ist eine recht nützliche Methode um solche Sachen zu steuern.
Das wären erstmal die Punkte, bei denen ich mir damals gedacht hatte "Man hätte mir das mal einer direkt erklärt"
Wie gesagt: Ich bin absolut kein Profi oder so und ich gebe keine Garantie auf die Tipps, aber hoffe trotzdem, dass sie dir nützen.
Sonst, wie die anderen schon gesagt haben, musst du leider eclipse nutzen. Man kann zwar auch in C++ programmieren, sogar in VisualStudio (siehe NVIDIA nsight tegra), aber davon würde ich erstmal abraten.
Sonst noch: Falls du ein Handy hast, versuch direkt auf dem Handy zu debuggen, nicht in einer VM. Die VM kostet nur nerven ohne Ende. Zuletzt noch: Falls du ein Samsung Smartphone hast, die brauchen oft extra USB Treiber (das hat mich 2 Stunden gekostet rauszufinden, warum das debugging mit meinem Galaxy Nexus nicht klappt -.-).
Dann noch viel Spaß beim programmieren!
mfg
Lukas