ActionBarActivity macht Probleme

  • Antworten:4
Andreas W.
  • Forum-Beiträge: 17

01.07.2014, 10:17:36 via Website

Hi,
ich bin neu in der Android Programmierung und gerade dabei mich über das Tutorial von Google Developer in die Materie einzuarbeiten (developer.android.com/training) In den Beispielen dort wird aber die Klasse "MainActivity" immer von "Activity" abgeleitet.

Nun habe ich aber dies hier gefunden und würde deshalb gerne die ActionBarActivity nutzen, auch wenn ich meine minSDK in der manifest xml auf 11 gesetzt habe:

A) ActionBarActivity just has more support libraries and better usage of the newer themes.
"In its most basic form, the action bar displays the title for the activity and the app icon on the left. Even in this simple form, the action bar is useful for all activities to inform users about where they are and to maintain a consistent identity for your app."

B) The actionbaractivity or the supportActionBarActivity have additional methods and properties that are not in a generic Activity. for example methods for adding tabs are present in the actionBarActivity and not in a generic Activity.
The major difference being you don't get an ActionBar on a generic Activity.

Irgendwie muss ich sagen, dass mich das Thema ein wenig verwirrt!

Was ich auch nicht verstehe:
Wenn ich nur "Activity" benutze und die minSDK auf 11 gesetzt ist, warum macht mir dann Eclipse immer noch ein appCompat-Projekt auf? Und warum bekomme ich Probleme, wenn ich das schließe und alle Referenzen darauf in meinem eigentlichen Projekt entferne? Ich brauche doch gar keine Abwärtskompatibilität.

Und jetzt setze ich noch einen drauf:
Wenn ich aber die ActionBarActivity benutze, dann kann ich zwar das Projekt ohne Fehler erstellen, rufe ich allerdings die App auf meinem physischen Device auf, dann wird die sofort wieder geschlossen.

Erwaehnen sollte ich noch, dass ich die neueste Version von Eclipse benutze (ein Updateversuch hat mir heute mitgeteilt, dass es keinen neueren gibt) und auch den SDK-Manager habe ich erneuert. U. a. ist die Android Support Library in der Rev. 19.1 im System vorhanden.

Also ich wäre sehr dankbar, wenn hier mal jemand ein wenig Licht in das Dunkel der ActionBars für mich bringen könnte. Google hat das bisher leider nicht geschafft - aber vielleicht habe ich auch falsch gesucht?

Bis denn
Andreas

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

01.07.2014, 14:02:21 via Website

Also wenn du nur eine Normale Activity wilst, dann brauchst du das ganze ActionBar zeugs nicht.
Seit der nesten ersion mach Eclipse bei mit auch immer ein appCompat Project auf.
Diese Lösche ich wenn es nicht benötigt wird und entferne die Android Dependencies aus dem Classpath.
Dass sollte zu diesem Theam alles sein.
Für normale operationen an der Action bar kannst du:

ActionBar bar = this.getActionBar();

verwenden.
Sind nun deine Fragen geklärt?

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

Antworten
Andreas W.
  • Forum-Beiträge: 17

03.07.2014, 03:48:54 via Website

Hallo Pascal,
vielen Dank für die Antwort. Ich wollte auch schon längst geschrieben haben. Allerdings wollte ich vorher erst noch Deinen Tipp (löschen der appCompat und entfernen der Dependencies) ausprobieren. Aber dann kam Eclipse und forderte mich zu einem Update der developer tools auf. Dabei wurden noch andere Komponenten installiert und dann ging in Eclipse nicht mehr viel mit meinem Projekt. Viele Dinge - zum Beispiel die Activity-Class - wurden nicht mehr erkannt.

Ich bekam die Meldung:
This Android SDK requires Android Developer Toolkit Version 23.0.0 or above.
Current version is 22.6.2v201403212010-1085508.
Please update ADT tothe latest version

Darunter einen Button mit "Check for updates"
Wenn ich den klicke bekomme ich nach einer Weile die Info
"Can not perform operation ...."

Dann geht ein weiteres Fenster auf ("Opdate Details";) und es wird mir mitgeteilt
"Your original request has been modified ..."
"Eclipse Java Developent Tool can not be fully uninstalled because other installed software requires it . The parts that are not required will be uninstalled"

Na ja und mit Klick auf "Next" klappt das dann auch nicht. Kann leider im Moment nicht so genau sagen, welche Probleme dann kommen, denn das installieren der moeglichen parts dauert schon wieder elendlich lange.

Ich glaube danach wurde mir immer noch gesagt, dass mein ADT die falsche Version hat und dass immer nur ein Teil installiert werden kann.

Also manchmal bin ich mit Eclipse wirklich so richtig am verzweifeln. Wieso können die Updates immer solche Probleme machen. Beim googeln habe ich zum Glück schon mal mitbekommen, dass andere auch solche Probleme bekommen. Es kann also nicht nur an meiner Blödheit liegen.
Ich muss das jetzt erst mal versuchen in den Griff zu bekommen und dann melde ich mich wieder.

Meine Fragen sind durch Deine Antwort leider noch nicht geklärt.

Denn ich wundere mich immer noch, warum ich denn überhaupt erst bei Angabe von minSDK = 11 ein appCompat bekomme, welches ich dann erst wieder umständlich löschen muss.

Außerdem frage ich mich immer noch, welche Vorteile denn die ActionBarActivity hat. Einfaches ignorieren finde ich nicht so gut, denn ich möchte eigentlich immer schon auch verstehen, warum die Dinge so sind und was ich da mache.

Also bis dann
Andreas

P.S.: Wie bekommt man das hier im Editor eigentlich hin, dass ein Zitat auch mit Leerzeilen klar kommt? Ich musste die hier mühsam per Hand herauslöschen und habe das dann frustriert aufgegeben.

— geändert am 04.07.2014, 03:29:32

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

03.07.2014, 06:59:05 via App

Bitte den Log entfernen der ist viel zu lang und unwichtig.
Das problem hatte ich auch.
Irgendwann hatte ich keine Lust mehr und habe mit das adt bundle von d.android.com geholt.
Dort sit die sdk schon in eclipse drin.
Bei einem Update einfach das zip neu laden und man hat es ohne viel gepfrimel geschafft.
Ebenso wenn mal wieder garnichts funktioniert.
Im eigentlichen logt es dadran dass immer zum Eclipseupdate ein sdk plugin update hinterher kommt.
Und man sollte dann erst die sdk und dann eclipse updaten sonst passiert sowas.

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

Antworten
Andreas W.
  • Forum-Beiträge: 17

04.07.2014, 04:27:50 via Website

Hallo Pascal,
sorry das mit dem log - der ist natürlich viel zu lang geraten. Habe ich mir heute morgen auf dem Telefon angesehen und war erschrocken wie lange ich scrollen musste. Ist schon entfernt.

Vielen Dank für den Tip.
Allerdings habe ich das nicht so ganz verstanden. Ich hatte mir vor einiger Zeit genau von der Adressen das ADT-Bundle mit Eclipse geholt. Es kann doch nun nicht so sein, dass man immer, wenn man zu einem Update aufgefordert wird, sich das ganze (große) Paket wieder holen muss und alles nochmal installieren soll? Ich habe dort ja auch schon diverse Einstellungen vorgenommen und Projekte eingerichtet. Oder habe ich da was falsch verstanden?

Aber ich glaube das nachfolgende ist wohl das Entscheidene:

Im eigentlichen logt es dadran dass immer zum Eclipseupdate ein sdk plugin update hinterher kommt.
Und man sollte dann erst die sdk und dann eclipse updaten sonst passiert sowas.

Im Moment ist es eine Katastrophe denn ich bekomme Eclipse und ADT nicht wieder zum laufen. Habe schon alles versucht und bin allen Vorschlägen der Fehlermeldungen gefolgt. Auch googeln hat bisher noch keinen Erfolg gebracht. Ich werde jetzt also alles nochmal installieren und bei einer erneutem Aufforderung zum Update versuchen Deinem Tipp zu folgen. Ich hoffe dann endlich meinem Frieden mit Eclipse und ADT machen zu finden!

Ist irgendwie nervig....
Also nochmals vielen Dank und einen schönen Tag noch
Andreas!
Edit:
Habe mir Deinen und dann auch meinen Post gerade nochmal angesehen und dabei ist mir aufgefallen, dass ich das doch so versucht habe - erst habe ich per SDK Manager die SDK heruntergeladenen. Danach wurde mir dann gemeldet:

This Android SDK requires Android Developer Toolkit Version 23.0.0 or above.

Und damit hatte ich dann meine Probleme. Ist denn mit dem

requires Android Developer Toolkit
der update von Eclipse gemeint?

Also das soll noch alles einer verstehen. Und wenn man sich jedes mall das ganze zip wieder herunterladen soll nur weil die Android SDK Tools ein Update haben - also das kann es ja wohl nicht wirklich sein.
Okay - liebe Grüsse
Andreas

— geändert am 04.07.2014, 07:59:27

Antworten