Loading the player...
X

Anmelden

Passwort vergessen?

... oder mit Facebook anmelden:

Du hast noch keinen Zugang zu AndroidPIT? Registrieren
Android Forum » Android Developer Forum » Android Entwickler Forum » Problem Daten in Datenbank zu speichern...

Problem Daten in Datenbank zu speichern...

Problem Daten in Datenbank zu speichern...
verfasst am 28.06.2012 07:27:49
Hallo und morgen,
ich habe (malwieder) ein Problem und zwar probiere ich eine datenbank zu erstellen. Klappt eigentlich auch ganz gut, nur in der Methode die die Daten in die Datenbank schreiben soll, bekomme ich beim return einen Fehler angezeigt.

hier mal der Code von der Betroffenen Methode

1public long createReminder(String title, String body, String reminderDateTime) { //long
2 ContentValues initialValues = new ContentValues();
3 initialValues.put(KEY_TITLE, title);
4 initialValues.put(KEY_BODY, body);
5 initialValues.put(KEY_DATE_TIME, reminderDateTime);
6
7
8 return mDb.insert(DATABASE_TABLE, null, initialValues); // java.lang.NullPointerException
9 }

Ich denke dass der Fehler eine NullPointerException beim return ist. Habe aber keine Idee wie ich das Problem löse. (Da in einer Datenbank keine leere zeile eingefügt werden kann, weise ich dieser extra den wert null zu [habs auch mit anderen werten probiert, selber fehler])

Hier mal der LogCat
106-28 05:23:16.725: W/KeyCharacterMap(331): No keyboard for id 0
206-28 05:23:16.725: W/KeyCharacterMap(331): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
306-28 05:23:18.115: D/dalvikvm(331): GC_EXTERNAL_ALLOC freed 68K, 52% free 2605K/5379K, external 2073K/2137K, paused 56ms
406-28 05:23:20.261: W/KeyCharacterMap(331): No keyboard for id 0
506-28 05:23:20.261: W/KeyCharacterMap(331): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
606-28 05:23:33.335: D/AndroidRuntime(331): Shutting down VM
706-28 05:23:33.335: W/dalvikvm(331): threadid=1: thread exiting with uncaught exception (group=0x40015560)
806-28 05:23:33.345: E/AndroidRuntime(331): FATAL EXCEPTION: main
906-28 05:23:33.345: E/AndroidRuntime(331): java.lang.NullPointerException
1006-28 05:23:33.345: E/AndroidRuntime(331): at de.schulplaner.terminplaner.RemindersDbAdapter.createReminder(RemindersDbAdapter.java:55)
1106-28 05:23:33.345: E/AndroidRuntime(331): at de.schulplaner.terminplaner.ReminderEditActivity.saveState(ReminderEditActivity.java:161)
1206-28 05:23:33.345: E/AndroidRuntime(331): at de.schulplaner.terminplaner.ReminderEditActivity.access$0(ReminderEditActivity.java:152)
1306-28 05:23:33.345: E/AndroidRuntime(331): at de.schulplaner.terminplaner.ReminderEditActivity$3.onClick(ReminderEditActivity.java:83)
1406-28 05:23:33.345: E/AndroidRuntime(331): at android.view.View.performClick(View.java:2485)
1506-28 05:23:33.345: E/AndroidRuntime(331): at android.view.View$PerformClick.run(View.java:9080)
1606-28 05:23:33.345: E/AndroidRuntime(331): at android.os.Handler.handleCallback(Handler.java:587)
1706-28 05:23:33.345: E/AndroidRuntime(331): at android.os.Handler.dispatchMessage(Handler.java:92)
1806-28 05:23:33.345: E/AndroidRuntime(331): at android.os.Looper.loop(Looper.java:123)
1906-28 05:23:33.345: E/AndroidRuntime(331): at android.app.ActivityThread.main(ActivityThread.java:3683)
2006-28 05:23:33.345: E/AndroidRuntime(331): at java.lang.reflect.Method.invokeNative(Native Method)
2106-28 05:23:33.345: E/AndroidRuntime(331): at java.lang.reflect.Method.invoke(Method.java:507)
2206-28 05:23:33.345: E/AndroidRuntime(331): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
2306-28 05:23:33.345: E/AndroidRuntime(331): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
2406-28 05:23:33.345: E/AndroidRuntime(331): at dalvik.system.NativeStart.main(Native Method)

Vielen Dank für Antworten! :)
lg Andreas
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Gelöschter Account
RE: Problem Daten in Datenbank zu speichern...
verfasst am 28.06.2012 08:44:45
Sind eventuell mDb oder DATABASE_TABLE null?

-----
Meine Apps: Tankbuch Mobil Pro | GaCoMo for Garmin Connect | Streaming Repeater | Ultraviewer

Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
RE: Problem Daten in Datenbank zu speichern...
verfasst am 28.06.2012 09:02:38 — geändert am 28.06.2012 09:02:59
Harald Wilhelm
Sind eventuell mDb oder DATABASE_TABLE null?
Japp, würde sogar sicher auf mDb tippen.
Wäre es DATABASE_TABLE, würde die Exception in einer Android-Klasse bei der Verarbeitung fliegen.

-----
Verkaufswert Rechner -- Verkaufswert Rechner Online -- 1-Klick Kleinanzeigen -- MadMonitor -- AndroidPIT Dev Stats -- Directupload.net Image Sharer

Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
RE: Problem Daten in Datenbank zu speichern...
verfasst am 28.06.2012 10:00:07
Rafael K.
Harald Wilhelm
Sind eventuell mDb oder DATABASE_TABLE null?
Japp, würde sogar sicher auf mDb tippen.
Wäre es DATABASE_TABLE, würde die Exception in einer Android-Klasse bei der Verarbeitung fliegen.


ich weise mDb = mDbHelper.getWritableDatabase(); zu. dann sollte mDb doch eigentlich nicht mehr null sein oder?
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
RE: Problem Daten in Datenbank zu speichern...
verfasst am 28.06.2012 10:04:44
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
RE: Problem Daten in Datenbank zu speichern...
verfasst am 28.06.2012 10:07:24
das mache ich in einer methode obendrüber. hab die methode wo ich das mache nicht gepostet. oder muss ich das auch nochmal in der methode hier zuweisen?
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
RE: Problem Daten in Datenbank zu speichern...
verfasst am 28.06.2012 10:09:24
Dem Namen nach ist es eine Klassenvariable.
Dann hängt es davon ab ob du die andere Methode vorher aufrufst.

Ich würde die Datenbank evtl. einfach mal als lokale Variable in der Methode erzeugen, oder vor dem Zugriff auf null prüfen und ggf. initialisieren.

-----
Verkaufswert Rechner -- Verkaufswert Rechner Online -- 1-Klick Kleinanzeigen -- MadMonitor -- AndroidPIT Dev Stats -- Directupload.net Image Sharer

Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Gelöschter Account
RE: Problem Daten in Datenbank zu speichern...
verfasst am 28.06.2012 11:14:44
Andreas D.
ich weise mDb = mDbHelper.getWritableDatabase(); zu. dann sollte mDb doch eigentlich nicht mehr null sein oder?

Theoretisch kann doch auch das Ergebnis von "getWritableDatabase()" null ergeben. Kein Platz mehr für die Datenbank, zum Beispiel. Nicht das das sehr häufig vorkommen würde ...

-----
Meine Apps: Tankbuch Mobil Pro | GaCoMo for Garmin Connect | Streaming Repeater | Ultraviewer

Antworten mit Zitat Antworten Link ±0     (0 Stimmen)