ich wollte ein bischen bei Android einsteigen. In den anfaenglichen Tutorials wurde viel mit XML fuers Layout gemacht. Ich wuerde gerne mein Layout und die ganze UI wie bei Swing per Hand - also Code - machen und nicht per XML.
Erstmal: verpasse ich was wenn ich nicht den XML-Weg waehle? Hat XML auch viele Nachteile?
Koennt Ihr mir ein Buch oder umfangreiches Tutorial empfehlen indem die Android-UI-Programmierung eher nach meinem gewuenschten Stil durchgehandelt wird und es aehnlich wie bei Swing zugeht?
Sorry aber :lol:
Swing baut auf AWT auf und das ist in Android (bisher) leider nicht vorhanden. Dabei ist's gar nicht allzu schwer (bis auf so eine dämliche Sache, was Fonts angeht), die std AWT-Klassen (und damit auch Swing) in Android zu portieren. Hat das rechtliche Gründe oder warum macht's keiner?
Ich denke nicht das es so einfach ist. AWT ist ein Biest und auch eher nicht fuer Touch ausgerichtet. Trotzdem freuen wuerde ich mich schon.
Aber darum geht es mir nicht. Ich will kein AWT/Swing programmieren. Ich suche nach einem Buch, das toll und einfach erklaert wie man programmatisch (ohne XML) UIs in Android erstellt.
Ich rate dir stark davon ab, ohne XML zu arbeiten. In seltesten fällen setze ich kein XML ein.
Stell dir vor, du brauchst für folgende 4 Eigenschaften ein Layout:
- Landscape + Smartphone
- Portrait + Smartphone
- Landscape + Tablet
- Portrait + Tablet
Das sind in XML 4 unterschiedliche Dateien, von dem das System automatisch dir richtige heraussucht. Zudem hast du eine Vorschau für jede der Fälle. Das ganze ohne XML dauert viel länger und ist wesentlich fehleranfälliger. Willst du bei Smartphones jetzt noch unterschiedliche Auflösungen zusätzlich unterstützen, musst du wieder code anfassen. In XML ist das eine weitere Datei.
Glaub mir: Nimm XML. Es hat nur Vorteile. Was du mit XML nicht lösen kannst, kannst du dann immernoch mit Code lösen.
Ich stand bei meinen ersten Gehversuchen mit Android vor der gleichen Frage: WTF? :autsch: Es ist ungewohnt, und man ist praktisch gezwungen, die (zumindest von mir ansonsten so) verhassten GUI-Builder zu verwenden. Aber wegen der von Tomate_Salat angesprochenen Punkte (zu denen noch fiese Sachen wie auflösungsabhängige Icons und so kommen) muss man sich wohl mit XML anfreunden. (Hab' da irgendwann mal den Spruch gelesen: "XML ist wie Gewalt. Wenn man seine Probleme damit nicht lösen kann, verwendet man einfach nicht genug davon!" )
Hehe...genau. Ich hab ja am liebsten so wenig XML wie moeglich
Wenn ich alles als Code habe ist halt auch mehr moeglich wie Refactoring usw. Klar gibt es auch XML Refactorings aber so maechtig ist das alles nicht. Auch gefaellt mir die Unflexibilitaet von XML nicht. Ich halte mich nicht gern an Strukturen. Deswegen nutze ich auch oft noch ANT zum builden und nicht so was tolles aber unflexibles wie Maven. Ich hasse es wenn ich etwas schnell ausprobieren will und dann erstmal denken muss...kann ich das ueberhaupt mit Maven.
Aber danke fuer eure Hilfe. Ich werde dann mal XML verwenden.
Ich würde mal behaupten:
In Android bist du in einigen Dingen mit XML schneller, eleganter und flexibler unterwegs, als du es mit reinem code sein könntest.