1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Von SDK_INT zu VERSION_CODES

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von burnersk, 04.10.2011.

  1. burnersk, 04.10.2011 #1
    burnersk

    burnersk Threadstarter Neuer Benutzer

    Beiträge:
    16
    Erhaltene Danke:
    0
    Registriert seit:
    23.05.2011
    Hallo,

    ich habe SDK_INT und möchte den passenden Namen von VERSION_CODES ermitteln. Hat jemand ein Idee, wie ich das dynamisch ermitteln kann?
     
  2. Neeldarax, 04.10.2011 #2
    Neeldarax

    Neeldarax Erfahrener Benutzer

    Beiträge:
    170
    Erhaltene Danke:
    31
    Registriert seit:
    07.12.2010
    Hallo burnersk,

    du hast doch schon alles beisammen.
    Jetzt noch die switch-Anweisung und etwas "namenschreiben".
    (Es gibt bestimmt auch bessere Lösungen...)

    Wo liegt dein Problem?

    regards
     
  3. burnersk, 04.10.2011 #3
    burnersk

    burnersk Threadstarter Neuer Benutzer

    Beiträge:
    16
    Erhaltene Danke:
    0
    Registriert seit:
    23.05.2011
    Hi Neeldarax,
    Das Problem liegt daran, dass auf zukünftigen Versionen der Android-"Versionsname" nicht angezeigt werden kann, weil API Level "0815" mit Namen "Blubmaster" nicht in der statisch in der App hinterlegten Liste vorhanden ist.
    Wenn es jetzt eine Rückwärtsauflösung für die VERSION_CODES geben würde würde es bei SDK_INT == 0815 eben "Blubmaster" ausgeben. Bei Switch nichts (resp. default).
     
  4. Neeldarax, 04.10.2011 #4
    Neeldarax

    Neeldarax Erfahrener Benutzer

    Beiträge:
    170
    Erhaltene Danke:
    31
    Registriert seit:
    07.12.2010
    Okay, der Punkt geht an dich ;)

    Ne grobe Liste hab ich auf Wiki gefunden Android (Betriebssystem)

    Bin gepannt, ob es tatsächlich eine Methode von Android gibt, die den Namen der Version ausgibt.
     
  5. burnersk, 04.10.2011 #5
    burnersk

    burnersk Threadstarter Neuer Benutzer

    Beiträge:
    16
    Erhaltene Danke:
    0
    Registriert seit:
    23.05.2011
    Es gibt nicht zufällig eine Möglichkeit um über die Variablen einer Klasse zu iterieren? Also wie in einem Array? Dann könnte ich einfach die Klasse durchlaufen und INT-Datentypen mit dem Referenzwert vergleichen sowie die passenden Namen ausgeben.
     
  6. Thyrion, 04.10.2011 #6
    Thyrion

    Thyrion Ehrenmitglied

    Beiträge:
    11,847
    Erhaltene Danke:
    2,452
    Registriert seit:
    21.07.2009
    Phone:
    Nexus 5X
    Das Zauberwort hier heißt: Reflection - nur wie das unter Java geht, kann ich dir nicht beantworten.
     
  7. burnersk, 04.10.2011 #7
    burnersk

    burnersk Threadstarter Neuer Benutzer

    Beiträge:
    16
    Erhaltene Danke:
    0
    Registriert seit:
    23.05.2011
    Ich hatte es extra nicht aufgeführt... die Hoffnung stirbt zuletzt, dass es auch ne andere Methode gibt.
    Reflection ist meiner Meinung nach "heavy shit" und für nicht so betuchte embedded devices - wie smartphones - einfach nur performance killer.

    Aber trotzdem danke...

    Edit: Heavy shit jetzt bezogen auf die Performance^^
     
    Zuletzt bearbeitet: 04.10.2011
  8. Thyrion, 04.10.2011 #8
    Thyrion

    Thyrion Ehrenmitglied

    Beiträge:
    11,847
    Erhaltene Danke:
    2,452
    Registriert seit:
    21.07.2009
    Phone:
    Nexus 5X
    Ja, ist es auch und sollte wohl der (aller)letzte Ausweg sein. :smile:

    EDIT: Nur der vollständigkeithalber: Was "spuckt" denn die veraltete Property Build.VERSION.SDK aus?
     
  9. burnersk, 04.10.2011 #9
    burnersk

    burnersk Threadstarter Neuer Benutzer

    Beiträge:
    16
    Erhaltene Danke:
    0
    Registriert seit:
    23.05.2011
    Build.VERSION.SDK spuckt das API Level als String aus (ist aber da auch nur ne Zahl). Also wie SDK_INT nur eben als String.
     

Diese Seite empfehlen