O
online-dan
Neues Mitglied
- 0
Hallo zusammen,
ich kenne mich hinsichtlich der App-Architektur noch nicht so gut aus. Aber zur Übersichtlichkeit würde ich gerne alle meine Datenbank-Operationen und -berechnungen in eine Extra-Klasse auslagern. Sobald ein Objekt dieser Klasse erzeugt wird, soll im Konstruktor eine Datenbank geöffnet werden.
Mit folgendem Minimal-Beispiel stürzt meine App leider noch ab und ich erhalte die Meldung
a) Was haltet ihr von diesem Vorgehen/dieser Architektur? Ist das realisierbar?
b) Warum stürzt das Minimalbeispiel ab?
Meinen Quellcode poste ich Euch mal hier drunter. Für Eure Hilfe bedanke ich mich schon jetzt mal sehr herzlich.
Gruß, Dan
ich kenne mich hinsichtlich der App-Architektur noch nicht so gut aus. Aber zur Übersichtlichkeit würde ich gerne alle meine Datenbank-Operationen und -berechnungen in eine Extra-Klasse auslagern. Sobald ein Objekt dieser Klasse erzeugt wird, soll im Konstruktor eine Datenbank geöffnet werden.
Mit folgendem Minimal-Beispiel stürzt meine App leider noch ab und ich erhalte die Meldung
Darum meine beiden Fragen:07-15 17:53:49.252: ERROR/AndroidRuntime(753): Caused by: java.lang.NullPointerException
07-15 17:53:49.252: ERROR/AndroidRuntime(753): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:181)
07-15 17:53:49.252: ERROR/AndroidRuntime(753): at de.arbeit.Operationen.<init>(Operationen.java:17)
07-15 17:53:49.252: ERROR/AndroidRuntime(753): at de.arbeit.test.onCreate(test.java:12)
07-15 17:53:49.252: ERROR/AndroidRuntime(753): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
07-15 17:53:49.252: ERROR/AndroidRuntime(753): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231)
07-15 17:53:49.252: ERROR/AndroidRuntime(753): ... 11 more
a) Was haltet ihr von diesem Vorgehen/dieser Architektur? Ist das realisierbar?
b) Warum stürzt das Minimalbeispiel ab?
Meinen Quellcode poste ich Euch mal hier drunter. Für Eure Hilfe bedanke ich mich schon jetzt mal sehr herzlich.
Gruß, Dan
Code:
package de.arbeit;
import android.app.Activity;
import android.os.Bundle;
public class test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Operationen x = new Operationen();
}
}
Code:
package de.arbeit;
import android.app.Activity;
import android.database.sqlite.SQLiteDatabase;
public class Operationen extends Activity {
/***
* globale Variablen
*/
SQLiteDatabase v_datenbank;
/**
* Konstruktor
* */
public Operationen()
{
//try {
v_datenbank = this.openOrCreateDatabase("datenbank", MODE_PRIVATE, null);
//} catch(Exception e){}
}
}