Hilfsklasse für übergreifende Werte

E

enrem

Erfahrenes Mitglied
29
Hallo,

ich habe eine Klasse AppVar realisert.

Code:
public class AppVar {

    private static String mVolt = "?";

    public static String getVolt() {
        return mVolt;
    }

    public static void setVolt(String mVolt) {
        AppVar.mVolt = mVolt;
    }
    
}
Diese möchte ich nutzen, um überall und zur jeder Zeit die aktuelle Voltzahl (erhalte ich von einem Messgerät über Bluetooth) zu aktualisieren.

In verschiedenen Klassen und Activitys verwende ich diesen Aufruf:

Code:
AppVar.setVolt(volt);
Kann mir jemand sagen, ob es eine bessere Lösung gibt und ob es mit meiner Methode möglicherweise Probleme geben kann?

Ich vermute, dass durch die Deklaration static die Variable mVolt der Klasse AppVar ständig im Speicher zur Verfügung steht. Ist das richtig oder kann diese von Android irgendwann zerstört werden.

Vorab besten Dank,

gruß enrem
 
Ist das richtig oder kann diese von Android irgendwann zerstört werden.
Prinzipiell ist dein Code ok, aber aufgeräumt bzw. "zerstoert" werden kann nur das worauf zur Laufzeit keine Referenz mehr besteht. Eine statische Klassenvariable dürfte aber (ich kann mich auch irren) zur Laufzeit immer bestehen bleiben bzw. wird von der Garbage Collection nicht aufgeräumt(Solange dein App läuft)

Allerdings bietet dir Android die Klasse "android.app.Application" die es dir erlaubt über mehrere Activitys hinweg Werte global zu speichern: Weitere Infos dazu
 
Danke funcoder!

ich verstehe zwar nich warum Android das über eine eigene Klasse anbietet, es wird wahrscheinlich jedoch sinnvoller sein diese zu verwenden.

Ich versuche mal mehr darüber zu erfahren. Nochmals danke!!!
 
Du hast Recht enrem, ein wirklicher Unterschied ob du jetzt dies über die Application Klasse bzw. über ein herkömmliche statische Variable machst ist nicht vorhanden. Du greifst jediglich auf das Android Framework zurück und hast dadurch eine nette Integration. :) Nicht mehr und auch nicht weniger

funcoder
 
  • Danke
Reaktionen: enrem

Ähnliche Themen

5
Antworten
22
Aufrufe
1.422
590239
5
R
  • RalfKahl
Antworten
10
Aufrufe
302
RalfKahl
R
netfreak
  • netfreak
Antworten
10
Aufrufe
461
netfreak
netfreak
Zurück
Oben Unten