1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. enrem, 24.07.2012 #1
    enrem

    enrem Threadstarter Erfahrener Benutzer

    Hallo,

    ich möchte meine Datenbank an einer zentralen Stelle öffnen und schließen. Am liebsten nicht in jeder Activity sondern in einer Subklasse von Application.

    In der Subclass von Application öffne ich die Datenbank in der onCreate(). Wo schließe ich diese am besten. Die onTerminate() ist nur für den Emulator. Im Gerät selbst behält Android die App so lange im Speicher bis dieser zu klein wird.

    Kann mir jemand sagen an welcher Stelle ich die Datenbank am besten schließe?

    Evtl. in der onLowMemory() ???

    Wie geht Ihr mit der Datenbank um?
     
  2. isam2k, 24.07.2012 #2
    isam2k

    isam2k Erfahrener Benutzer

    Davon würd ich abraten. Ich würde die Datenbankverbindung schliessen sobald du alle nötigen Daten ausgetauscht hast (so früh als möglich).
     
  3. Tom299, 25.07.2012 #3
    Tom299

    Tom299 Android-Experte

    Ich hol mir im onCreate immer eine Instanz meiner DBHelper-Klasse. Die DBHelper-Klasse macht beim executeSQL immer ein Check, ob die DB offen ist oder nicht, wenn nein, wird sie automatisch geöffnet. Somit muß ich die DB-Verbindung in meiner Activity nur noch schließen, was ich in onPause immer mache. Damit sollte ich eigentlich auf der sicheren Seite sein :)
     
  4. enrem, 26.07.2012 #4
    enrem

    enrem Threadstarter Erfahrener Benutzer

    Vielen Dank, ich werde es dann so machen wie Tom299 es anwendet.
     

Diese Seite empfehlen