1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. blassphemy, 07.06.2011 #1
    blassphemy

    blassphemy Threadstarter Neuer Benutzer

    Hi Leute,

    ich habe folgendes Problem:
    Ich habe mein Programm in verschiedene funktionale Klassen zergliedert und entsprechend implementiert. Eine dieser Klassen soll nun den Zugriff auf die SQLite-Datenbank regeln.
    Dafür habe ich eine Klasse DataBase, in der ich wie in zahlreichen Tutorials beschrieben, mit einem SQLiteHelper den Zugriff auf die Datenbank regele.

    Wenn ich nun aus einer anderen Klasse(die keine Activity ist, sondern nur von einer Activity aufgerufen wird) versuche mit dem Helper auf die Datenbank zuzugreifen muss ich einen Context für den Konstruktor übergeben. Ich hab das mit "this"/getApplicationContext() versucht.

    Das Problem ist jetzt, dass ich immer eine NullPointerException anstatt eines Datenbank-Objekts zurückbekomme. Wenn ich den selben Code allerdings in einer "richtigen" Activity und nicht "Nicht-Activity-Klasse" aufrufe, funktioniert das ganze problemlos.

    Ist das generell schlecht solche Sachen außerhalb einer Activity zu realisieren? Ich möchte damit eben meine DB-Anfraben von der eigentlichen GUI abkapseln, deshalb habe ich eine eigene Klasse und keine Activity verwendet.

    Danke schonmal :)
     
  2. DieGoldeneMitte, 07.06.2011 #2
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Datenbanken und auch der Context sind nun mal etwas hochgradig nichtfunktionales, das beißt sich dann leider etwas mit deiner Programmstruktur.

    Du musst Context/Application schon irgendwie zu allen Objekten durchreichen, die ihn brauchen, daran führt kein Weg vorbei. Man könnte vielleicht eine Factory basteln, die den Context oder gleich den DB Helper für dein gesamtes Programm bereitstellt. Damit hast Du dir dann aber ein Singleton eingebrockt :D
     
  3. blassphemy, 07.06.2011 #3
    blassphemy

    blassphemy Threadstarter Neuer Benutzer

    Okay, danke.
    Dann weiß ich jetzt wenigstens, dass es keine einfache Möglichkeit gibt das eleganter zu lösen. Werde dann wohl einfach den Context als Parameter übergeben.
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Android O Neue Fonts in XML Methode Android App Entwicklung 27.07.2017
[OFFEN] Problem mit meiner Login App Android App Entwicklung 10.06.2017
[ERLEDIGT] Eine Klasse um das aufrufen anderer Intents zu regeln Android App Entwicklung 24.05.2017
[OFFEN] git-Problem in Android Studio (Windows) Android App Entwicklung 24.05.2017
[ERLEDIGT] put in HashMap bringt App zum abstürzen Android App Entwicklung 22.05.2017
[INFO] Neue Playstore Richtlinien im Mai 2017 Android App Entwicklung 19.05.2017
[ERLEDIGT] Tipps für AsyncTask Klasse Android App Entwicklung 18.05.2017
[UMFRAGE/INFO/DISKUSSION] Kotlin, die neue Programmiersprache für Android Android App Entwicklung 18.05.2017
[ERLEDIGT] Problem mit Async Task und auszuführender Aufgabe Android App Entwicklung 02.05.2017
[ERLEDIGT] Popup mit Fragment realisieren oder besser eine andere Klasse nehmen? Android App Entwicklung 22.03.2017
Du betrachtest das Thema "Problem mit Context in neuer Klasse" im Forum "Android App Entwicklung",