Android Studio = Java und HTML?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Das ist XML, wie HTML auch eine Auszeichnungssprache.

Mit XML werden in Java Android-Apps Layouts beschrieben. Ein XML-Dokument, welches eine Oberfläche beschreibt, hat eine feste Struktur um die  Hierarchie aller Elemente miteinander zu beschreiben. (Es ist so, als wolltest du einem Blinden ein Objekt beschreiben - du umzeichnest das Objekt mit Worten, erklärst, was du siehst, welche Eigenschaften das Objekt hat - Farbe, Inhalt, etc.).

Der erste Tag gibt an, um was für ein Dokument es sich hier handelt und mit welchem Text-Encoding gearbeitet werden soll. Dies ist notwendig, damit der Computer später weiß, mit was für einem Datenformat er es gerade zu tun hat.

Alle folgenden Tags beschreiben nun das Layout. Bei deinem Code-Auszug hast du bspw. das RelativeLayout, in dem Elemente wie die TextView liegen. Sollte es noch andere Elemente geben, wie z.B. Buttons, würden die ebenso mit aufgezählt werden. Verschachtelt in diesen Elementen könnten weitere Kindelemente liegen. Stell dir vor, du hast eine GroupView und darauf liegen Buttons, Labels, etc.. Dann würde die XML-Struktur an dieser Stelle auch entsprechend aussehen:

[GroupView]
  [Label /]
  [Button /]
  [Button /]
[/GroupView]

(Denke dir die spitzen Klammern dazu, hier auf GF sind sie für Codeschnipsel nicht erlaubt, daher nutze ich eckige Klammern)

Jedes Element besteht aus einem Start- und einem Endtag. Beide beinhalten den Namen des Elementtyps, der Endtag kennzeichnet sich durch einen zusätzlichen Slash vor dem Namen aus. Elemente benötigen beide Tags, wenn sie über Kindelemente verfügen. Du kannst aber auch auf Elemente stoßen, die nur aus einem Tag bestehen und sich am Ende selbst schließen:

[Button /]

Zur Programmlaufzeit wird das Markup dann geparst und die jeweiligen Objekte dazu grafisch umgesetzt. Das Programm weiß nun, dass es eine View erstellen muss, mit mehreren Objekten darin. Um diese Elemente noch weiter individuell zu beschreiben, gibt es entweder Kindelemente, die das übernehmen oder (viel eher) Attribute:

[Button Color="Red" Text="Button Text" /]

(Die Attribute habe ich mir gerade ausgedacht, ob es die bei Android Layouts so gibt, weiß ich gerade nicht, doch so etwas kann man leicht in der Dokumentation nachlesen).

Damit das Dokument einem gewissen Standard obliegt, und so abgesichert wird, dass es keine ausgedachten Elemente oder Attribute gibt, braucht das XML-Dokument des Weiteren Namespaces. Diese Namespaces geben an, was es gibt, worauf sich der Parser also später berufen kann. Es ist in dem Sinne wie eine Referenz oder ein Nachschlagewerk. Du kannst es auch mit den Java Imports vergleichen.

Bei deinem obigen Code werden über das startende Tag drei Namespaces eingebunden: android, app und tools. Danach können bestimmte Attribute, die in diesen jeweiligen Namespaces definiert wurden, über den Namespace-Namen aufgerufen werden. Bsp.:

android:layout_width="match_parent"

Was das Attribut bewirkt, ist, denke ich selbsterklärend. Zusätzlich zu der Existenz des Attributs wird im Namespace beschrieben, welche Werte erlaubt sind. Hier ist es der Wert match_parent, also ein String, der aussagt, dass die komplette Breite des Programmfensters genutzt werden soll.

Weiteres zu XML solltest du im Zuge deiner weiteren Erfahrungen mit Android erlernen können. Das von mir beschriebene sollte bis dahin als Schnellkurs der Grundlagen ausreichen.

Das ist XML, das musst du nicht wirklich "lernen", das ist recht einfach.
Da stehen im Grunde genommen nur Eigenschaften der Objekte (z.B. TextView), die du in der Activity hast, drin. Schwer zu erklären oO
Learning by doing :P

7

Also ist XML eine Programmiersprache oder wie kann man das ausdrücken? Danke :P

0

Außerdem solltest du auf jeden Fall zuerst mal einfache Java-Konsolenprogramme schreiben, bevor du dich an komplexere Sachen wie Android Apps ranmachst.

31

Das würde ich nicht so sagen - ich habe zwar schon etwas programmiert gehabt, als ich mit der Android-Entwicklung angefangen habe, habe aber vorher noch nicht in Java programmiert und es erst durch die Arbeit mit der Android API erlernt.

0

Was ist besser um eine Android-App zu programmieren, Java, Android-Studio oder Appinventor2?

Wobei ich glaube, dass der Appinventor ausscheidet...

...zur Frage

Unterschied zwischen Java und Android?

Der Großteil der Android Apps werden mit Java programmiert. Kann man dann nicht einfach ein in einer IDE geschriebenes Java Programm in Android Studio kopieren und es benutzen, nachdem man die Oberflächen zusätzlich gemacht hat?

...zur Frage

Java Android-Studio Funktion die sich jede Sek. startet?

Hallo Leute, wie oben zu erkennen ist, suche ich eine Möglichkeit, eine Funktion zu definieren, die sich jede Sekunde auslöst. Also quasi das Bild updatet. :)

...zur Frage

Android Studio App geht nicht auf Handy

Hallo ich ziehe von Android Studio meine App auf mein Handy sie wird auch als Apk Datei angezeigt doch wenn ich die App starte stürzt sie unerwartet ab ich habe in meinem Java Skript keine Fehler kann mir jemand helfen ? lg

...zur Frage

Programmieren in Java: Die Komponenten von zwei Vektoren a und b. Bin Anfänger. Wo habe ich einen Fehler gemacht.?

Siehe Bild:

...zur Frage

Webseite mit Java erstellen?

Gibt es ein Framework, das nativ zu Java gehört? Wie benutzt man es? Gibt es schon vorgefertigte Adminseiten oder wie schreibt man sich selbst einen Einlog-Mechanismus? Wie bindet man Datenbanken ein? Wie funktioniert die Templateschreibweise?

Wie ist das grundlegende Prinzip? (Ich habe bisher immer Django benutzt, und das arbeitet ja mit Projekten und Apps.)

Wie benutze ich Java auf der Serverseite, sodass es HTML-Dateien ausliefert?

Mit Java kann ich relativ gut programmieren, HTML und CSS beherrsche ich auch.

Vielen Dank für alle Antworten!

...zur Frage

Was möchtest Du wissen?