XML-Layoutdatei spielt verrückt

  • Antworten:19
Josef M.
  • Forum-Beiträge: 35

23.10.2012, 16:27:09 via Website

Hallo

Was mache ich falsch? Bin Anfänger und fummele ziemlich viel im Layout rum (ausprobieren). In der Literatur wird immer wieder davon gesprochen, dass die Profis häufig nicht den Designer benutzten, sondern von Hand direkt in den XML-Code schreiben. Jedes mal, wenn ich das mache, verschwinden wie von Geisterhand ganze Zeilen, die dann später wieder auftauchen - ein geordnetes Kopieren von Zeilen ist praktisch unmöglich; manchmal werden ganz neue Zeilen erzeugt, die ich gar nicht getippt habe. Es passieren ständig absolut verrückte Sachen - ein vernünftiges Arbeiten ist unmöglich. Beim Zurückschalten in den Designer ist dann wieder alles in Ordnung.

Ich habe es in mehreren verschiedenen Eclipse-Versionen und auf zwei verschiedenen Computern ausprobiert - es ist immer das Gleiche. Im Forum habe ich nichts finden können, was mich aber wundert - bin ich wirklich der Einzige, dem das passiert?? Ich verwende z.Zt. Eclipse 4.2, Windows 7 und Funkmäuse (aber daran kann es wohl kaum liegen).
Sollte ich aber der 3.895er User sein, der das gerade fragt, bitte ich um Verständnis.

Gruss
Josef

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

23.10.2012, 17:53:03 via Website

Ich habe dich mal ins Entwickler-Forum verschoben, da wirst du eher Antworten erhalten.

Ich kenne den von dir beschriebenen Effekt auch, allerdings tritt der bei mir nur dann auf, wenn ich im Wechsel im Designer und im Code ändere.
Normalerweise mache ich alles direkt in der .xml, also ohne "bunti-bunti", da ich so wesentlich schneller ans Ziel komme.

Antworten
Andreas Weichert
  • Forum-Beiträge: 287

23.10.2012, 18:42:18 via Website

Hi Josef!
Das sind genau meine Erfahrungen - es ist wirklich ein Krampf mit Eclipse. Dieser Bug ist schon seit Jahren bekannt - gibt ne Menge "lustige" YouTube videos dazu.
Zeilen verschwinden visuell sobald man mit dem Cursor hin geht. Copy and paste funktioniert so das das paste in ein anders XML Fenster stattfindet. Damit habe ich mir schon oft Layouts versaut.

Man weiß kaum was man machen sollte:
Der Designer ist nach dem heutigen Stand der Technik ziemlicher Schrott (wenn man es mit Visual Studio oder sogar dem C++-Builder vergeicht).
Der XML-Editor funktioniert nicht. Gerade wenn man dem Kram von Google benutzt stürtz Eclipse oft ab. (Ich vermute daher das Eclipse an sich ok ist, das Google SDK aber nicht)
Bleibt nur ein externer Editor (ohne Editierhilfe), Permanent speichern und Eclipse neu starten. Es hilf auch manchmal nur das fehlerhafte Editierfenster zu schließen und wieder zu öffnen.
Mal noch ne Frage ist bei Dir der Property-Explorer auch so extrem langsam????

Also das ist alles ganz normal und sind die üblichen Probleme eines Android-Programmierers.
Gruss
Andreas

— geändert am 23.10.2012, 19:03:37

Antworten
Josef M.
  • Forum-Beiträge: 35

23.10.2012, 19:02:34 via Website

Hallo zusammen

na da bin ich aber "froh", dass dieser Bug ein alter Hut ist. Aber eigentlich ist dieser Editor wirklich Schrott und wenn das Problem schon seit Jahren bekannt ist, verstehe ich nicht, wieso man von Seiten Google da nix unternimmt.

Stimmt, wenn ich den Visual C#-Designer verwende, ist das ne reine Wohltat. Da kann man über Microsoft schimpfen wie man will, aber die .NET Entwicklungsumgebung ist mir lieber als Eclipse und der Designer ist auf jeden Fall besser. Und wenn man dann zur direkten Konkurrenz schaut (Apple XCode), da sieht der Layout-Designer von Google ganz alt aus (jedenfalls von der optischen Darstellung und vom Handling her).

Nein, mein Properties-Explorer funktioniert einwandfrei - jedenfalls normal schnell (obwohl das System in einem Windows-Virtual-Modus auf einem iMac läuft) und iOS noch parallel aktiv ist.

Da fällt mir noch was ein: ich habe mal auf einem Uralt-Notebook von HP mit Windows XP mit Eclipse und dem Androide-Plugin gearbeitet, um ein paar Leuten den Bug zu demonstrieren - und siehe da: es hat alles ganz normal funktioniert, kein einziges Problem trat auf - das war ein ganz neues Editor-Gefühl - aber vielleicht lag es auch einfach nur daran, dass ich tatsächlich nur ausschließlich im Editor gearbeitet habe und nicht im Wechsel mit dem Designer - das probiere ich gleich mal aus.

Gruss
Josef

— geändert am 23.10.2012, 19:06:18

Antworten
Andreas Weichert
  • Forum-Beiträge: 287

23.10.2012, 19:08:15 via Website

War Zufall! Benutze auch noch XP.
Mit dem Property-Explorer bin ich wohl der einzige. Ich habe den starken Verdacht, das es an meinem Dual-Screen-Grafiktreiber liegt.
Werde die nächste Zeit auf Windows8 umsteigen - vermute stark, das dann alles besser läuft.

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

23.10.2012, 19:19:05 via Website

Der XML-Editor funktioniert nicht.

Wie meinst du das?
Bei mir funktioniert der, einschließlich des Intelli-Sense Zeugs, völlig problemlos, solange ich den Designer nur zum Angucken verwende...


Gerade wenn man dem Kram von Google benutzt stürtz Eclipse oft ab.

Was ist in dem Zusammenhang "der Kram von Google"? Abstürze hatte ich glaubich noch nie mit Eclipse.

Antworten
Andreas Weichert
  • Forum-Beiträge: 287

23.10.2012, 19:44:55 via Website

and dev
Der XML-Editor funktioniert nicht.
Wie meinst du das?
Bei mir funktioniert der, einschließlich des Intelli-Sense Zeugs, völlig problemlos, solange ich den Designer nur zum Angucken verwende...
Gerade wenn man dem Kram von Google benutzt stürtz Eclipse oft ab.

Was ist in dem Zusammenhang "der Kram von Google"? Abstürze hatte ich glaubich noch nie mit Eclipse.

Die Fehler des XML Editors habe ich oben beschrieben. Nur den Editor ohne den Designer zu benutzen habe ich noch nicht ausprobiert.
Fällt mir einfach schwer, das ich das xml noch nicht so gut behersche. Designer ist einfacher für mich, speziell die Properties einzustellen.
Benutze immer beides - das sollte auch funktionieren wenns richtig programmiert wäre.

Habe vor Android noch nie mit Elipse gearbeitet - weiß daher nicht wie es mit reinem Java läuft.
Mit Kram meine ich das was von Google dazu kommt. Formulardesigner - Menueditor - XML-Editor
Ich hab zumindest noch nie im reinen Javaeditor Probleme bekommen.
Immer nur Absturz im XML-Editor, Formulardesigern (oft) , Menueditor (extrem oft - benutze ich nicht mehr, mache jetzt alles per code)

Kann nur meine Erfahrung auf 2 XP-Systemen beschreiben.

Antworten
Stefan S.
  • Forum-Beiträge: 560

23.10.2012, 20:03:29 via Website

Das passiert mir auch andauernd.
Da schreibt man etwas rein und ein paar Sekunden später sieht es ganz anders aus.
Markier ich aber alle Zeilen, erscheinen Diese wieder :)

Antworten
Josef M.
  • Forum-Beiträge: 35

24.10.2012, 10:35:26 via Website

Hallo ich bin's wieder...:bashful: (2 Probleme)

Problem 1: keine neue R-Klasse
Frage an Euch, insbesondere and dev: wenn ich im XML-Editor ein Control von Hand erzeuge, wird es nicht in die R-Klasse mit neuer id eingetragen. Wenn ich z.B. eine EditText von Hand erzeuge mit allen Eigenschaften, wird keine neue R-Klasse generiert??? Ein separater Build-Lauf löst das Problem auch nicht (keine Reaktion). Ein anschließendes Run erzeugt natürlich eine Fehlermeldung. Was mache ich nun schon wieder falsch?? - entweder ich bin zu doof für diese Layout-System, zu verwöhnt oder einfach nur normal.
wenn ich es umgekehrt mache funzt alles: also Control im Layout "malen", dann wird es auch korrekt in die R-Klasse übernommen und alles läuft.

Problem 2: Geisterfehler
Wenn ich einen Fehler im XML-Editor mache, z.B. "50dpi" schreibe statt korrekt: "50dip" bekomme ich einen Syntaxfehler (soweit klar). Korrigiere ich den Fehler, sichere erneut, mache einen Build-Lauf wird der alte Fehler immer noch angezeigt.Was immer ich auch anstelle, der Fehler will wird permanent angezeigt. Ich muss schon den kompletten Eintrag (hinter der Zuweisung) löschen und neu hinschreiben, damit die Korrektur verstanden wird.
(muss ich damit leben??)


was mich echt wundert: ich habe einiges an Literatur über Android-Entwicklung aber noch niemals etwas über dieses doch gravierende und nervige Editor-Problem gelesen. Im Netz beschweren sich einige ziemlich moderat. "wenn ich das Projekt schließe und wieder öffne geht wieder alles" oder: "ich fahre Eclipse runter und dann wieder hoch, dann funzt es wieder" - geht's noch?? m.E. müsste ein Aufschrei durch die Entwicklergemeinde gehen.

Abstürze: Ich habe keine Abstürze. Könnte zwar alles ein bisschen schneller gehen (insbesondere Emulatioren) - aber es läuft alles stabil.

So - genug gemeckert. Vielleicht weiß ja von Euch jemand, was ich nicht verstehe.
Gruss
Josef

— geändert am 24.10.2012, 11:00:50

Antworten
Andreas Weichert
  • Forum-Beiträge: 287

24.10.2012, 10:57:30 via Website

Also ich verstehen es auch nicht !!!!! Warum repariert das keiner ?
Dachte auch lange, liegt nur am meinem Computer, da man nicht viel im Netz über diesen gravierenden Bugs findet.
(Vielleicht blendet Google diese Seiten mit Fehlermelungen ja aus :wink:
Gut das ich jetzt weiß, das ich nicht der einzige bin den diese Unprofessionalität auf allen Ebenen nervt.

— geändert am 24.10.2012, 10:58:09

Antworten
Gelöschter Account
  • Forum-Beiträge: 694

24.10.2012, 11:24:50 via Website

Seid Ihr sicher das Ihr nicht irgendwelche Einstellungen verändert habt? Kontrolliert doch mal bitte folgende Einstellungen im Eclipse:

* Menü --> Projekt --> Build Automatically:

Ist das mit einem Haken versehen oder nicht? Haken setzen und für jedes Projekt wiederholen.


* Menü --> Window --> Preferences --> Android --> Build:

- Automatically refresh Resources and Assets ... (Haken setzen!)

- Force error ... (Haken setzen!)

- Skip packaging ...(Haken setzen!)


... und wenn Ihr schon mal dabei seid. Sobald Ihr Library Projekte nutzt (Projekte die aufeinander aufbauen) kontrolliert gleich noch die Build Order:

* Menü --> Window --> Preferences --> Workspace --> Build Order (Reihenfolge einrichten!)

— geändert am 24.10.2012, 11:27:15

Antworten
Andreas Weichert
  • Forum-Beiträge: 287

24.10.2012, 18:30:45 via Website

Danke Harald für die Tip! Ist alles richtig eingestellt.

Apropos refresh. Wie bekommt ich das hin image-resourcen auszutausche. Also z.B. ich entscheide mich ein Bild zu ändern:

Lösche alte Datei, kopiere neue Datei dort hin und benenne sie so wie die alte, damit die Referenze stimmen.
Dann mache ich in Eclipse refresh und clear und sie da im Desiger erscheint das neue Image.
Wenn ich allerdings die App auf dem Handy startet ist dort alles wie vorher.
Keine Change das zu ändern, außer der Datei einen neuen Namen zu geben, refresh, mir die Fehler von Eclipse anzeigen und dort den neuen Resourcennamen einzutragen.
Das muß doch auch einfacher gehen ?!

Antworten
Gelöschter Account
  • Forum-Beiträge: 694

24.10.2012, 19:31:09 via App

Du hast nicht zufällig die Entwicklungsumgebung im Google Drive Ordner laufen (so wie ich)? Sobald eine fremde Datei in den Ressource Ordnern auftaucht dann verweigert Eclipse/AAPT die Mitarbeit.

Google Drive erzeugt desktop.ini Dateien in jedem Ordner und ab da läuft alles schief. Auch die von Windows erzeugten desktop.ini Dateien können das auslösen.

Bevor ich Eclipse starte lösche ich mit einem Skript alle desktop.ini Dateien in meiner kompletten Google Drive Umgebung und schalte Google Drive ab. Nach dem Beenden von Eclipse starte ich dann Google Drive wieder.

Guck mal in die Ressourcen Ordner und kontrolliere ob da etwas drin ist was da nicht hingehört. Und außerdem schau mal in die Problems Sicht.

Antworten
Josef M.
  • Forum-Beiträge: 35

26.10.2012, 16:31:21 via Website

hallo zusammen...

Wenn ich nochmal das Ausgangs-Problem benennen darf: ein Button von Hand in XML-Datei erzeugt wird nicht im Grafik-Laout angezeigt und auch nicht in der R-Datei generiert, wenn l e d i g l i c h eine id eingetragen wird.

(Meine)Lösung: mindestens layout_width und Layout_hight definieren, dann im Layouter mit RM die von Hand eingetragene id bestätigen, dann speichern und Build-Lauf. Danach ist der Button in R-Klasse eingetragen und verfügbar.
(das Ganze ist vielleicht ziemlich trivial, aber ich wollte es irgendwie doch rauskriegen).

meine übrigen Einstellung sind alle so wie oben bei Harald beschrieben, jedoch mach den Build-Lauf lieber von Hand (das gibt mir das Gefühl von mehr Kontrolle ;-) )
Ne Frage an Euch: kennt jemand ein gutes Tutorial über das Debuggen von Apps innerhalb Eclipse?? Wäre echt hilfreich.
Hinweis: das Skript von http://mobile.tutsplus.com/tutorials/android/android-app-debugging/ habe ich schon)

noch was: kann es sein, dass das Board auch seine Macken hat? z.B. verstehe ich die Sortierung (Kriterium) der Beiträge nicht. Ich bin mit einem Safari-Browser unterwegs - außerdem wird mir hin- und wieder das Speichern von Beiträgen im Thread verboten, während ich aber gleichzeitig neue anlegen darf

Gruss
Josef

ps. kann leider erst morgen wieder gucken, "muss" jetzt zum Sport - dann Herrenabend.:bashful:

— geändert am 26.10.2012, 16:36:15

Antworten
Andreas Weichert
  • Forum-Beiträge: 287

28.10.2012, 17:24:46 via Website

Harald Wilhelm
Du hast nicht zufällig die Entwicklungsumgebung im Google Drive Ordner laufen (so wie ich)? Sobald eine fremde Datei in den Ressource Ordnern auftaucht dann verweigert Eclipse/AAPT die Mitarbeit.
Google Drive erzeugt desktop.ini Dateien in jedem Ordner und ab da läuft alles schief. Auch die von Windows erzeugten desktop.ini Dateien können das auslösen.
Bevor ich Eclipse starte lösche ich mit einem Skript alle desktop.ini Dateien in meiner kompletten Google Drive Umgebung und schalte Google Drive ab. Nach dem Beenden von Eclipse starte ich dann Google Drive wieder.
Guck mal in die Ressourcen Ordner und kontrolliere ob da etwas drin ist was da nicht hingehört. Und außerdem schau mal in die Problems Sicht.

Google-Drive benutze ich nicht - alles lokal.
Also in den Resourcenordner bzw. sogar in allen Ordner habe ich immer vssver.scc, da ich meine Projekte mit SourceSave sichere.
Im Resource-Ordner habe ich die Datein aber über ein Filter ausgeblendet.
Mit den Bugs muß man wohl leben....

Antworten
Andreas Weichert
  • Forum-Beiträge: 287

28.10.2012, 17:47:31 via Website

Harald Wilhelm
Aha, der Filter nützt nichts. Der ist für Eclipse - nicht für AAPT. Das habe auch ich leidvoll feststellen müssen.

Wenn Du die SourceSave Dateien in allen res Ordnern löschst und F5 drückst wird das klappen.

Super - danke für den Tip.
Werde dann nach den einchecken immer die Datein per Script löschen.
VSS braucht die auch nicht unbedingt - gaube ich.

Antworten
Stefan P.
  • Forum-Beiträge: 31

06.11.2012, 17:53:21 via Website

Einige der "Geisterprobleme" lassen sich lösen, indem man nur eine Layout XML gleichzeitig in Eclipse geöffnet hat.

Antworten
Josef M.
  • Forum-Beiträge: 35

13.11.2012, 12:22:36 via Website

hallo

danke für den Tipp.

wieder was neues passiert!

kleine test-app geschrieben und auf Emulator getestet - alles bestens. am nächsten Tag start Eclipse und rein in die MainActivity.java.
Error: a l l e Zeilen waren rot markiert (absolut alle) - habe dann alles gelöscht(komplett leer), alles neu getippt (exakte Kopie) und alles lief wieder.
Leider habe ich mir die Fehlermeldung nicht gemerkt, aber sie deutete darauf hin, dass der Compiler annahm, dass jede Zeile doppelt vorhanden sei (was natürlich Unsinn war).
Irgendeine Erklärung??

danke
Josef

Antworten