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

Datenbankmanagement zentral in einer Subclass von Application

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von enrem, 24.07.2012.

  1. enrem, 24.07.2012 #1
    enrem

    enrem Threadstarter Erfahrener Benutzer

    Beiträge:
    188
    Erhaltene Danke:
    13
    Registriert seit:
    17.01.2010
    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

    Beiträge:
    239
    Erhaltene Danke:
    43
    Registriert seit:
    27.04.2010
    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

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    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

    Beiträge:
    188
    Erhaltene Danke:
    13
    Registriert seit:
    17.01.2010
    Vielen Dank, ich werde es dann so machen wie Tom299 es anwendet.
     

Diese Seite empfehlen