Absoluter App Prog Newbie braucht Hilfe

E

Einmaliger, anonymer Poster

Gast
Ok, hab mich jetzt einen Tag lang mit dem programieren für andriod beschäftigt und ich muss sagen ...

WTF?
Ich habe turbopascal, C/C++,HTML/PHP/Ruby gelernt aber die sind alle kinderkacke im vergleich hierzu.

Nach einem Tag lesen und testen und lesen und testen ... bin ich exakt keinen schritt weiter gekommen.
Wenn ich eine neue programmier Sprache lerne dann beginne ich mit dem einfachen, variable, loops und conditions. Mit den 3 Sachen kann man bereits einfache Sachen machen die aber stark genug sind um Programme zu schreiben die man dann immer komplizierter machen kann. Sprich man fängt einfach an (das paradebeispiel der taschenrechner) und baut das dann immer mehr aus bis es irgendwann nen kleines spiel ist.

Das ist hier aber irgendwie nicht möglich.
Erstmal existieren keine wirklichen Tutorials im Internet. Es scheint irgendwo eine Tutorial zu geben was dann jeder kopiert hat. Nutzlos³. Wie man Variablen deklariert und verändert ist ja recht einfach, ist ja gut mit Java machbar. Loops und conditions findet man auch schnell heraus. Was man jedoch nicht heraus findet ... den einfachen und simplen output!

Jup, daran liegt es tatsächlich. So einfach es auch ist mit nem WYSWYG editor bunte knöpfe hinzulegen wo man will. So war es mir einen Tag lang nicht möglich es zu programmieren den Text eines TextView elements beim drücken eines Knopfes zu ändern. Ein Tutorial welches echt schlecht ist(aber im vergleich zu anderen immerhin durch quellcode copy'n'paste dennoch funktinoert) hat mir gezeigt wie ich den Text eines Edit Feldes auf knopfdruck änder. Meine Jahrelange erfahrung als Programmierer hat es mir jedoch nicht ermöglicht die Zeilen:

private EditText text;
text = (EditText) findViewById(R.id.TextView01);
text.setText("Test");

welche ich als die 3 entscheidenden Zeilen ausmachen konnte, so anzupassen das sie für ein TextView funktionieren.


Daher nun die einfache Frage:
Wie zum Teufel kann ich das hier lernen ohne 10 jahre meines Lebens verschwenden zu müssen?

Wie kann ich properties von beliebigen UI Elementen während der Laufzeit (per knopfdruck auf irgend nen UI knopf) ändern?(Nicht in "onCreate")(Obige "Schablone" ist ja offensichtlich zu speziel)

Ich verstehe nicht wieso es dazu nicht einfach ein Tutorial gibt!? Die Android apps scheinen wie nen webbrowser aufgebaut zu sein, einfach elemente die irgendwo auf dem Bildschirm liegen. Die elemente zu ändern ist doch DAS grundwissen um Apps zu schreiben.
Variablen kann man ja im hintergrund berechnen, aber anzeigen muss man sie ja damit und wenn man die x oder y lage als property ändern kann hat man ja bereits 2D Grafik.

Is mir echt unvorstellbar wieso es keine nützlichen Tutorials gibt ...
 
Ein Tutorial welches echt schlecht ist(aber im vergleich zu anderen immerhin durch quellcode copy'n'paste dennoch funktinoert) hat mir gezeigt wie ich den Text eines Edit Feldes auf knopfdruck änder. Meine Jahrelange erfahrung als Programmierer hat es mir jedoch nicht ermöglicht die Zeilen:

private EditText text;
text = (EditText) findViewById(R.id.TextView01);
text.setText("Test");
Wie wäre es mit:
Code:
TextView text = (TextView) findViewById(R.id.TextView01);
text.setText("Test");

Android hat mitnichten was von HTML. Man _kann_ die GUI komplett in XML definieren oder sie zur Laufzeit vom Programm bauen lassen.
Da man irgendwie die in der XML definierten Views ändern können muss, kann man diese über die Methode findViewById() finden.

Viel Erfahrung mit GUI Entwicklung scheinst du in deinen Jahren als Entwickler wohl noch nicht gesammelt zu haben. Die GUI in Android funktioniert ziemlich genau so wie in SWT oder ähnlichen Frameworks.
Und ich weiss auch gar nicht wieso du keine Tutorials findest, selbst auf developer.android.com gibt es so einige davon. Das ganze OS inklusive Apps (jaja, nicht allen) ist Open Source ... also an Beispielen mangelt es mir irgendwie nie.
 
Ich schließe mich the_alien mal an.
Wenn du Probleme mit den Views hast, reicht es eigentlich sich diese Tutorials hier mal anzusehen:
Hello, Views | Android Developers
Wenn man auch nur eins davon gemacht hat, sollte man schon einen groben Überblick haben wie das mit den xmls funktioniert. Wenn man das beherrscht kann man sich sein Layout auch im Code erst bauen.

Im Fall Taschenrechner reicht es die nötigen Buttons und einen Textview zu erstellen, alle über findViewById einzulesen und onKlickListener zu setzen.
 
An sich reicht es schon, wenn man sich mit Eclipse und ADT seine persönliche Entwicklungsumgebung einrichtet und danach mal ein Standard Android-Projekt anlegt.
Da kann man sogar schon eine Start-Activity anlegen lassen und sich umschauen.
Unter Layouts ist mit dem vorhandenen XML-Assitenten schnell eine eigene Oberfläche gestaltet.

Ein gutes Buch über Android ab 2.0 (z.B. "Android 2: Grundlagen und Programmierung") und gegebenenfalls Java wäre ebenfalls nicht verkehrt. One Java Programmierkentnisse kann man zwar starten, macht es sich aber unnötig schwer, weil die meisten Beispiele eben voraussetzen, dass man sich bereits mit Java-Grundlagen wie Klassen, Vererbung usf auskennt.
Gerade bei den von Dir erwähnten Schleifen gibt es in Java einiges zu wissen, da die Sprache voll von den unterschiedlichsten Ansätzen dazu ist und es eine große Menge von verschiedenen Aufzählungsklassen gibt. Seit 1.5 gibt es endlich eine 'for each Item'-Variante, die im übrigen auch von Google für Android präferiert wird. Ohne diese Konzepte zu kennen macht man es sich nicht nur schwer, sondern wird in einigen Fällen auch unnötige Klimmzüge machen müssen.

Tutorials können immer nur erste Schritte sein, danach muss man seine eigenen Krallen wetzen.

Übrigens: Ausgaben macht man in Java normalerweise über System.out, in Android aber sinnvollerweise über die Log-Klasse. In Eclipse fügst Du einfach unter Window/Show View/Other/Android/Log Cat die dazugehörige Konsole in Umgebung ein und kannst dort fortan (auch mit Filter) lesen, was Du in der Anwendung ausgegeben hast.
Statt dessen oder zusätzlich kannst Du natürlich auch ein Textfeld in die Oberfläche einbauen und die Ausgabe dorthinein geben. Z.B. mit textViewName.append("blah").
 
Zuletzt bearbeitet:

Ähnliche Themen

D
Antworten
17
Aufrufe
326
datNeMo
D
R
  • Robby1950
2
Antworten
23
Aufrufe
955
Robby1950
R
netfreak
  • netfreak
Antworten
10
Aufrufe
438
netfreak
netfreak
Zurück
Oben Unten