Android Entwicklung vs. Webentwicklung

  • Antworten:9
Marius
  • Forum-Beiträge: 424

14.04.2015, 09:44:08 via App

Ich habe jetzt vor kurzem angefangen mich in Android Studio reinzuarbeiten. Da ich von der Webentwicklung komme habe ich eine wichtige Frage zu der Grundlage.
Bei Websites ist es ja so, dass alles ganz klar eingeteilt ist:
HTML > Struktur / Layout
CSS > Stylen der Elemente
JS > Ereignisse

Nur bei der Android Entwicklung ist das ein bisschen komisch. Da werden ja in der Manifest alle Activities angegeben. Eine Aktivität entspricht also einem HTML Dokument. Die Logik wird dann ja klar in den .java Files gemacht.

Aber jetzt meine Frage zum Stylen:
Das find ich ein bisschen komisch, da wird hier und da mal das Element verändert. Mal in dem Java File, dann im Layout und dann im Style Dokument. Da blickt man doch nach einer Weile nicht mehr durch wo und wann das Element verändert wurde.

Kann es sein, dass ich was grundlegendes übersehen habe? Ich denke schon, weil so wie ich das alles verstanden habe, ist das sehr uneffektiv.

Sorry für den langen Text 😅, aber ich freue mich über jemanden der etwas Licht ins Dunkle bringt 😊😊

Antworten
Michele
  • Forum-Beiträge: 1.525

14.04.2015, 09:52:44 via Website

Hallo Marius.

Du hast halt einfach mehrere Möglichkeiten ein Element zu verändern.
Mal geht es sogar nur so mit "dem" oder "dem" und mal ist es so mit "dem" oder "dem" einfacher.

Jeder so wie er es mag und besser findet.

Lg

— geändert am 14.04.2015, 09:59:01

Antworten
Marius
  • Forum-Beiträge: 424

14.04.2015, 10:40:16 via App

OK, aber wird das nicht unübersichlich?

Antworten
Michele
  • Forum-Beiträge: 1.525

14.04.2015, 10:43:51 via Website

Nein warum?

Wo denn bitte?

Lg

Antworten
Marius
  • Forum-Beiträge: 424

14.04.2015, 11:32:57 via App

Wenn man das Design an verschiedenen Stellen verändert.

Hab ich das jetzt richtig verstanden:
in layout.xml erstelle ich die einzelnen Elemente und style sie dann in style.xml?

edit: Gibt es noch irgendwas wichtiges was ich beachten muss wie z.B. externe Dateien einbinden?

— geändert am 14.04.2015, 11:35:17

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

14.04.2015, 17:06:49 via Website

Ich mache es meist so:

  • Styles werden für allgemeine Sachen z.b. Buttons verwenden, damit beispielsweise jeder Button der das passende Style argument trägt jetzt blau ist. Somit spart man sich bei jeder Buttondefinition das einstellen der Hintergrundfarbe.
    Jetzt gefällt mir das aber nicht mehr und will umstellen (z.b. auf Material Design etc.) dann kann ich nun einfach in meine styles gehen und den Buttonstyle anpassen, sagen wir jetzt mal Rot.
    Hätte ich das ganze ohne Syles gemacht hätte ich jedes Layout von Hand ändern müssen, das ist etwas mühselig...

Und ja man könnte das Design immer neu verändern entweder per Code oder per Layout aber wenn man das durcheinander macht wird es wiklich unüberischtlich.
Deswegen empfehle ich, nimm die Styles damit kann man Designteschnisch das meiste machen.
Und dann sollte man auch nicht irgend welche veränderungen/ausnahmen des Layout design per Code machen, wenn es noch mal sein muss, dann aber auch an einer Zentralen stelle, wo man es wenn man es sucht leicht findet.

Lg

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Marius
  • Forum-Beiträge: 424

14.04.2015, 18:01:52 via App

Vielen Dank!
Wenn ich jetzt einem Element die Eigenschaft layout_height gebe muss da ja ein android: davor um auf die Library zuzugreifen. Muss das wirklich vor jede einzelne Eigenschaft? oder kann man das umgehen?

Antworten
DanielPa
  • Forum-Beiträge: 12

15.04.2015, 00:42:10 via Website

Um das zu verdeutlichen:
In der Webentwicklung wird mit CSS das grundlegende Design erstellt, welches dann bei Bedarf per Javascript geändert werden kann.
Bei Android ist das vergleichbar: In xml erstellst du dein Design und mit Java kann dieses wenn nötig noch verändert werden.

Antworten
Georg C.
  • Forum-Beiträge: 235

15.04.2015, 01:02:33 via Website

Hi Marius,
offt ist ein Vergleich (um irgend was zu verstehen) richtig. Lediglich es wird oft falsch verglichen. Leider Du kannst HTML mit Android Entwicklung nicht vergleichen - Sorry & FERTIG.
Das vieles auf /mit xml "verschnürt" ist - ist auch gut so. Schlaue Köpfe wissen schon was die gemacht haben.

Eine Aktivität entspricht also einem HTML Dokument. ...

Man kann so verglichen, aber das ist nicht richtig.
Eine Aktivität entspricht einer Anwendung ist schon besser, aber auch nicht 100% richtig. ... bemühe aber bittee google um eine Antwort zu bekommen.

... Bei Websites ist es ja so, dass alles ganz klar eingeteilt ist ...

Bei Java / Android ebenso. Es ist jedoch für einen ?ein / ?quereinsteiger etwas verwirrend. Weil! - man betrachtet alles auf einmal. Du sollst es "Modular" (Versuche die ganze Materie auf Einzige Module zu verteilen) zu sehen / betrachten versuchen.
Deine Anteilung:
HTML > Struktur / Layout -> werde ich nichts anderes als:
Java / Code / Layout interpretieren.
...

Das find ich ein bisschen komisch, da wird hier und da mal das Element
verändert. Mal in dem Java File, dann im Layout und dann im Style
Dokument.

My- Zurück:
In der HTML find ich ein bisschen komisch, da wird (z.B.) eine Buttonfarbe in den Tags verändert. Mal in der JS, dann mit CSS wieder im Style Dokument.
Also je nach zeit und Laune, kann solche Diskussion ins Unendlichen führen.
Das möchten wir aber nicht!

Da blickt man doch nach einer Weile nicht mehr durch wo und wann das
Element verändert wurde ...

Hier hast Du die WindowsXX Probleme entlarvt (laughing)
.... Bei einer "Saubere" -> Strukturierter ... und und Programmierung schon! Glaube mir bitte.

Kann es sein, dass ich was grundlegendes übersehen habe? Ich denke
schon, weil so wie ich das alles verstanden habe, ist das sehr
uneffektiv.

Sehr wahrscheinlich JA!. Vielen ist nicht bewusst, dass JAVA =/= ANDROID
Und damit fängt schon alles an. Java ist nicht gleich Android!
Eeeeeeeeee????? JA - waaaasssss ?
Android ist ein Betriebssystem, aber auch eine Software-Plattform auf einem Linux- Kernel. Damit es plattformunabhängig ist, wurde die Dalvik Maschine drauf "geklatscht" Das ist auf Java-Technologie basierende VM. ..... -> JAVA - no sorry -> Dalvik Virtual Machine ... brrrrrrrr na ja so ist das Leben!
Ok.
(Was ich nicht verstehe, aber vielleicht bin zu doof dafür - fast jeder möchte heutzutage eine App entwickeln .... ok. ... von mir aus - gerne.)
Fazit:
- Android ist ein BETRIEBSYSTEM! -> Linux, Mac, Windows ähnlich.
- Android Entwicklung bedeutet nichts anderes als, eine Software für den Android Betriebsystem zu schreiben / Programmieren.
- Wer eine "Gute App" entwickeln möchte soll (nur meiner Meinung nach) sich mit:
-- Betriebsystemen vertraut machen
-- Java lernen
-- und letzt endlich die dazugehörige Android- API sich anstudieren

Glaube das war´s

LG
Georg

— geändert am 15.04.2015, 01:11:46

Sorry für Gramatik & Stilistik Fehler.

Antworten
Marius
  • Forum-Beiträge: 424

15.04.2015, 13:01:30 via App

Sehr gut. Dann werde ich einfach üben üben üben. Das ist die beste Art um es zu verstehen.
Und noch dazu, dass Android ein OS ist und keine Sprache: Schon klar 😊 Ich weiß dass die Logik von Android Apps mit Java geschrieben. Aber ich meinte damit immer die Entwicklung nicht das OS 😂
Also Danke noch mal an alle Antworter, ich denke das hat sehr geholfen :-)

Antworten