merkwürdige Exception mit android und SQLLite

Goldfish

Bekanntes Mitglied
Hey, ich bin mal wieder endgültig am Ende mit meinem Latein und weiß mir nicht merh weiter zu helfen. Google hilft mir da auch nicht wirklich, da ich eine unmögliche NullPointer habe...
Ich habe folgenden Code:

Java:
public class NetworkRequestListManager extends BaseDatabaseHandler implements Observer {
    private static NetworkRequestListManager networkRequestListManager = new NetworkRequestListManager();

    private NetworkRequestListManager () {
        super(Mobile4dApplication.getContext());
        NetworkObservableStatus.addNetworkListener( this );
    }

    ...

    public static synchronized void addElement(NetworkRequest networkRequest) {
        SQLiteDatabase db = networkRequestListManager.getWritableDatabase();

        ContentValues values = new ContentValues();
        try {
            values.put(BaseDatabaseHandler.networkRequest_type, networkRequest.getClass().getName());
            values.put(BaseDatabaseHandler.requires_login, networkRequest.isRequiresLogin() ? 1 : 0);
            values.put(BaseDatabaseHandler.networkRequest_timestamp, networkRequest.getTimestamp());
            values.put(BaseDatabaseHandler.networkRequest, networkRequest.toBlob());
        } catch (IOException e) {
            Log.e("addElement", "Exception: " + e.getMessage());
            e.printStackTrace();
        }
        Log.e("addElement", "number of NetworkRequests: " + getNumberOfRequests());
        Log.e("addElement", "db: " + db);
        Log.e("addElement", "TABLE_NETWORK_REQUEST: " + BaseDatabaseHandler.TABLE_NETWORK_REQUEST);
        Log.e("addElement", "ContentValues: " + values);
        db.insert(BaseDatabaseHandler.TABLE_NETWORK_REQUEST, null, values);
        db.close();

        if (NetworkObservableStatus.isNetworkConnectionAvailable()) {
            NetworkRequestListManager.startService();
        }
    }

    ...
}

In der Methode addElement erhalte ich eine NullPointerException in der Zeile:
db.insert(BaseDatabaseHandler.TABLE_NETWORK_REQUEST, null, values);
Die Ausgaben für meine Werte, wie sie oben im Code zu sehen sind, sehen wie folgt aus:

Java:
07-27 19:22:18.439: ERROR/addElement(10002): number of NetworkRequests: 0
07-27 19:22:18.439: ERROR/addElement(10002): db: android.database.sqlite.SQLiteDatabase@41989078
07-27 19:22:18.439: ERROR/addElement(10002): TABLE_NETWORK_REQUEST: networkRequestTable
07-27 19:22:18.447: ERROR/addElement(10002): ContentValues: timestamp=1406481738435 type=de.uni_bremen.network.userManagement.LoginRequest requires_login=0 network_request=[B@41992140

ich hab auch schon versucht den null-Wert gegen einen leeren String auszutauschen. Also:
db.insert(BaseDatabaseHandler.TABLE_NETWORK_REQUEST, "", values);
Gibt aber auch die gleiche NullPointerException.

Hat irgendwer vielleicht schonmal das gleiche Problem gehabt und kann mir hier helfen? ich weiß einfach nicht mehr weiter an der Stelle.
 

Goldfish

Bekanntes Mitglied
wie im Post oben schon erwähnt, liegt es nicht am übergebenen null, da ichs auch schon mit einem leeren String versucht habe, und trotzdem NullPointer. Der Witz ist allerdings, dass das Codestück vor einiger Zeit noch funktionierte... daran hat sich nichts geändert und auf einmal, gehts nicht mehr. Bei einer Operation, die schon tausend mal geklappt hat... ich schnalls echt nciht...
Aber heir der Stacktrace


Java:
07-27 19:22:18.814: ERROR/ACRA(10002): de.uni_bremen.activities fatal error : Could not execute method of the activity
        java.lang.IllegalStateException: Could not execute method of the activity
        at android.view.View$1.onClick(View.java:3073)
        at android.view.View.performClick(View.java:3540)
        at android.view.View$PerformClick.run(View.java:14167)
        at android.os.Handler.handleCallback(Handler.java:605)
        at android.os.Handler.dispatchMessage(Handler.java:92)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:4558)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
        at dalvik.system.NativeStart.main(Native Method)
        Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at android.view.View$1.onClick(View.java:3068)
        ... 11 more
        Caused by: java.lang.NullPointerException
        at android.database.sqlite.SQLiteStatement.releaseAndUnlock(SQLiteStatement.java:290)
        at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:115)
        at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1720)
        at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1593)
        at de.uni_bremen.network.networkServiceManagement.NetworkRequestListManager.addElement(NetworkRequestListManager.java:59)
        at de.uni_bremen.activities.LoginActivity.onLoginClicked(LoginActivity.java:106)
        ... 14 more
 

JavaMeister

Gesperrter Benutzer
daran hat sich nichts geändert und auf einmal, gehts nicht mehr. Bei einer Operation, die schon tausend mal geklappt hat... ich schnalls echt nciht...

So ein Posting hatte ich schon mal heute. "Ich habe nix geändert". Das hilft leider nicht bei der Fehlersuche und ist zudem gelogen.


Was steht in Zeile:

SQLiteStatement.java:290

Maybe unterstützt die Datenbank kein Locking?
 

Goldfish

Bekanntes Mitglied
So ein Posting hatte ich schon mal heute. "Ich habe nix geändert". Das hilft leider nicht bei der Fehlersuche und ist zudem gelogen.

Nein, gelogen war das nicht. Die Codestelle ist unverändert. Das einzige, was sich geändert hat, ist der Klassenname. Und das seh ich nicht als Änderung an, da er zumal auch ncihts mit der Tabelle in SQL zu tun hat der Name.

Wenn ich auf den Sourcecode für SQLiteStatement.java:290 gehe, öffnet mir der IDE eine Klasse, die gerade mal 160 Zeilen hat -_-
Und ja, die Sources sind vorhanden, falls dies die nächste Frage sein sollte ^^
 

Goldfish

Bekanntes Mitglied
ich arbeite mit IntelliJ. Und ja, die App einmal zu deinstallieren und neu aufzuspielen kam mir auch schon in den Sinn. Ich hab sogar schon mittels Subversion auf einen Stand zurückgesetzt, wo es noch funktionierte ursprünglich und der Fehler fliegt trotzdem noch X.X

Ich habe keine Ahnung von Android, liest sich aber so, das die DB nicht offen ist?

Kann ich das irgendwie prüfen? bin gerade auf der Arbeit, daher kann ich das frühestens heute Abend prüfen, aber wäre gut zu wissen, wie ich das mache ^^
 

Goldfish

Bekanntes Mitglied
lol wtf?
Ich hab ne neue Klasse erzeugt, den Code, der mutmaßlich nicht funktionierte, in die neue Klasse kopiert, die Codestellen auf den neuen Klassennamen angepasst und es geht wieder -_-
Was fürn beknackter Mist ist das denn?
 

Dagobert

Bekanntes Mitglied
Deswegen entwickelt man Android ja in AS oder Eclipse :D
Bis gerade wusste ich nicht mal das es nen Android Plugin für Netbeans gibt ^^

lg.
 

dzim

Top Contributor
Manchmal hilft es (leider) ein "clean" auf das Projekt zu machen. Ich vermute, dass noch irgendwelche alten Klassen herumlagen und nicht richtig vom automatischen Build weggeputzt wurden.
 

Goldfish

Bekanntes Mitglied
Deswegen entwickelt man Android ja in AS oder Eclipse
Bis gerade wusste ich nicht mal das es nen Android Plugin für Netbeans gibt ^^

Ist mir auch neu, aber gut zu wissen, dass es eines für Netbeans gibt. Ich mach das ganze ja in IntelliJ und die Android-Unterstützung in IntelliJ ist wirklich grausig... Der einzige Grund, wieso ich das mit dem IDE mache ist, dass ich mit Eclipse nicht klar komme... habs tausend mal versucht und wollte jedes mal erneut Eclipse aus dem Fenster werfen, wäre das möglich gewesen ^^°

Manchmal hilft es (leider) ein "clean" auf das Projekt zu machen. Ich vermute, dass noch irgendwelche alten Klassen herumlagen und nicht richtig vom automatischen Build weggeputzt wurden.

Sollte ich eigentlich wirklich beherzigen, denn mit maven und AspectJ hatte ich derartige Probleme auch nicht gerade selten...
 
Zuletzt bearbeitet:

Goldfish

Bekanntes Mitglied
So wie das aussieht, kann das gut sein, dass die IntelliJ Unterstützung darauf basiert. Sieht zumindest stark danach aus und ich hab gerade nicht die Energie mich da durchzulesen, da ich mit anderen Dingen beschäftigt bin ^^.
Aber die Probleme die ich meine, sind folgende:

  1. Die Syntax zeigt permanent Fehler an Stellen an, wo keine sind. Beduetet so viel, wie Syntaxfehler werden angezeigt, aber übersetzen und laufen tut alles wunderbar. Ist aber echt nervig, dass das ganze Projekt immer mit Fehlern angezeigt wird, weils angeblich Syntaxfehler gibt... Das ist schon seid Monaten so und trotz diverser Bugreports haben dies noch immer nicht behoben -_-
  2. Wenn man ein großes Projekt hat und 2 Module des Projektes haben zufällig die gleiche Abhängigkeit von sagen wir bspw. commons-io. Dann wirft IntelliJ beim Übersetzen Fehler, weil die .jar-Datei 2 mal gefunden wurde... (okay kein direktes android Problem, aber saumäßig lästig...)
 

dzim

Top Contributor
Sind es wirklich Fehler, oder ist es "nur" Androids LINT, das da meckert. So was gibt's mitunter auch in Eclipse... Und auch das mit den jars klingt vertraut (binde mal ein lib-Projekt ein, dass wie das Hauptprogramm die support-lib einbindet und die Versionen sind nicht identisch...).
 

Goldfish

Bekanntes Mitglied
nene, das sidn keine Fehler. Das ist wirklich nur das Syntax-Highlighting, dass da rumspinnt.
Also ich hatte es mal in Eclipse versucht einzubinden, das Projekt. Das war deutlich einfacher, weil Eclipse da nicht rumgeschriehen hat...
Aber aus dem Grund mach ich mittlerweile eigentlich auch schon alles mit maven, weil mir dieses rumgefrickel mit den jars zu lästig ist. Maven schafft da wirklich gute Abhilfe. Problem bei unserem Projekt ist nur, es wurde ursprünglich nicht als maven-Projekt angelegt und ich hab auch ehrlich gesagt zu wenig Plan vom Android-Bauvorgang, als dass ich das mal eben übersetzen könnte XD
 

dzim

Top Contributor
Dazu setzt Android-Studio (wie übrigens auch OpenJDK/OpenJFX) fast nur noch auf Gradle. Glücklicherweise scheint es möglich zu sein, bei Gradle sowohl Maven-Dependencies, als auch Ant-Build-Tasks einzubinden. Darauf setzt Android bei Build. Muss man sich auch erst dran gewöhnen, allerdings hab ich damit unter Eclipse eigentlich dank dem ADT-Plugin nur in Ausnahmefällen etwas zu tun.
 

Dagobert

Bekanntes Mitglied
Jop Android mit Maven zu konfigurieren... war nich nett als ich es das letzte mal gemacht habe...

mit Gradle ist das sehr smooth und einfach wie ich finde ;)

lg. Dagobert
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Android ExpandableListView merkwürdige Probleme Android & Cross-Platform Mobile Apps 20
H Android Nullpointer Exception bei Methodenaufruf durch MainActivity Android & Cross-Platform Mobile Apps 3
K Null-Pointer-Exception in ListView - wird über Datenbank gefüllt Android & Cross-Platform Mobile Apps 1
P Number Format Exception Android & Cross-Platform Mobile Apps 2
T Android Unexpected Top-Level Exception Android & Cross-Platform Mobile Apps 2
D Unhandled exception type JSONException Android & Cross-Platform Mobile Apps 2
G Exception bei jedem Klick Android & Cross-Platform Mobile Apps 2
X Unable to execute dex: Java heap space Exception bei Sqllite lib Android & Cross-Platform Mobile Apps 14
S Java ME Exception beim Abspielen von Musik Android & Cross-Platform Mobile Apps 6
H Nullpointer Exception im BaseAdapter Android & Cross-Platform Mobile Apps 7
P createImage wirft Exception Android & Cross-Platform Mobile Apps 3
J Benachrichtigung Freigabe ab Android 14 Android & Cross-Platform Mobile Apps 1
J Android Benachrichtigung zum Zeitpunkt ers Android & Cross-Platform Mobile Apps 15
J Das Beispiel von Android erzeugt Fehler Android & Cross-Platform Mobile Apps 8
J Zeitdifferenzen unter Android 7 (API < 26) berechnen Android & Cross-Platform Mobile Apps 4
W Netzwerk Verbindungen Java Android Android & Cross-Platform Mobile Apps 107
Z Android IntelliJ Android & Cross-Platform Mobile Apps 2
M Repository bei Room-Database in Android Studio (Java) Android & Cross-Platform Mobile Apps 2
Android App auf das eigene Handy bekommen Android & Cross-Platform Mobile Apps 3
Alex IV Android App erstellen Android & Cross-Platform Mobile Apps 3
OnDemand CrossPlatform Kotlin iOs/Android Datenverbrauch Android & Cross-Platform Mobile Apps 2
W In Android Studio Integer an andere activities übergeben Android & Cross-Platform Mobile Apps 2
wladp Android Studio Room Database Android & Cross-Platform Mobile Apps 1
N "Schöne" Datatable in Android und setzen von Parametern von Textview im Code Android & Cross-Platform Mobile Apps 5
N Android game programmieren Android & Cross-Platform Mobile Apps 5
T Android Studio: Einen Button in einer For Schleife verwenden Android & Cross-Platform Mobile Apps 2
K BLE Komunikation mit Android studio und esp32 Android & Cross-Platform Mobile Apps 5
G Android UDP Kommunikation Android & Cross-Platform Mobile Apps 1
M Paper DB wird in Android Studio nicht erkannt Android & Cross-Platform Mobile Apps 7
J Android zugrif auf Thread nach Handy drehen. Android & Cross-Platform Mobile Apps 10
T Android Android Augmented Faces in Java. Neue Landmarks erstellen Android & Cross-Platform Mobile Apps 1
K Android Android In-App-Purchase lädt nicht Android & Cross-Platform Mobile Apps 0
Besset Android http request an interne ip adresse funktioniert nicht Android & Cross-Platform Mobile Apps 8
J Is Android Development Head First Outdated? Android & Cross-Platform Mobile Apps 3
J Android Android Datenbankverbindung zum Raspberry Pi Android & Cross-Platform Mobile Apps 1
lolcore Android Studio -Download Documentation for Android SDK Android & Cross-Platform Mobile Apps 0
S Sinnvollste weg eine SQLite DB mit Android auslesen Android & Cross-Platform Mobile Apps 7
W Problem mit Android Studio Android & Cross-Platform Mobile Apps 0
W App Abo Android Android & Cross-Platform Mobile Apps 10
OSchriever Android Android MediaPlayer bei Anruf stoppen/pausieren Android & Cross-Platform Mobile Apps 2
OSchriever Auf onClick-Listener reagieren und Parameter übergeben (Android Studio) Android & Cross-Platform Mobile Apps 4
W removeNetwork Android App mit Spendenaktion fürs Tierheim! Android & Cross-Platform Mobile Apps 1
T Android R.string.test+i Problem Android & Cross-Platform Mobile Apps 2
P undefinierbarer Fehler Android Android & Cross-Platform Mobile Apps 8
T Android ArrayList sortieren mit 2 Werten ohne thencomparing , Wie? Android & Cross-Platform Mobile Apps 10
W Variable überschreiben (Android Studio) Android & Cross-Platform Mobile Apps 2
ruutaiokwu Android Selbst entwickelter SMTP-Client läuft auf PC, nicht aber auf Android Android & Cross-Platform Mobile Apps 9
ruutaiokwu Android Warum muss man bei Android Studio immer 2x auf "Run" klicken damit die App auf dem Gerät startet Android & Cross-Platform Mobile Apps 8
ruutaiokwu Android Wo das 'android.useAndroidX' property hinzufügen? Android & Cross-Platform Mobile Apps 8
ruutaiokwu Android In einem Android-“Spinner”-Element GLEICHZEITIG Bild (links) UND Text (rechts) anzeigen Android & Cross-Platform Mobile Apps 0
P Login und Registrierung Android Anzeige Android & Cross-Platform Mobile Apps 7
S Von JavaFx zu Android Android & Cross-Platform Mobile Apps 12
K Android to Pi | Websocket Problem Android & Cross-Platform Mobile Apps 3
ruutaiokwu Wie fügt man bei Android Studio .jar-Libraries zu einem Android-Java-Projekt hinzu? Android & Cross-Platform Mobile Apps 33
M Komponenten positionieren in Android Studio 3.6.3 Android & Cross-Platform Mobile Apps 1
M Android Studio - Property-Fenster einblenden Android & Cross-Platform Mobile Apps 1
M Android Studio - App auf dem Smartphone testen Android & Cross-Platform Mobile Apps 7
M Barrierefreie Appentwicklung für Android - Suche Codebeispiele Android & Cross-Platform Mobile Apps 8
M Android Studio - Configuration fehlt Android & Cross-Platform Mobile Apps 20
M Wo kann ich das Android SDK herunterladen / wie kann ich es installieren Android & Cross-Platform Mobile Apps 3
M Unsupported class file major version 57 - Fehlermeldung bei Android Studio Android & Cross-Platform Mobile Apps 27
ruutaiokwu Android Studio (SDK) ANDROID_SDK_ROOT-Variable? Android & Cross-Platform Mobile Apps 5
O Web API in Android (JAVA) einbinden Android & Cross-Platform Mobile Apps 3
J Android Studio macht seltsame Sachen Android & Cross-Platform Mobile Apps 2
J Android 9.1 aber android Studio findet API22 Android & Cross-Platform Mobile Apps 0
Dimax Web-Seite in native app convertieren mit Android Studio Android & Cross-Platform Mobile Apps 8
A Android Studio: while-Schleife beginnt nicht Android & Cross-Platform Mobile Apps 5
lolcore android studio: fehler bei laden des emulators Android & Cross-Platform Mobile Apps 10
J Android App - Browser öffnen und Text eingeben/Button click auslösen Android & Cross-Platform Mobile Apps 10
A Android-Studio: 2. Layout nach kurzer Zeit aufzeigen Android & Cross-Platform Mobile Apps 2
A jpg wird im Android Studio nicht akzeptiert Android & Cross-Platform Mobile Apps 3
J Android Studio - ArrayList - Selected Item ermitteln Android & Cross-Platform Mobile Apps 13
T Android SDK-Manager startet nicht in Eclipse Android & Cross-Platform Mobile Apps 5
T Bringen mir die Java-Basics irgendetwas für die Android-Programmierung Android & Cross-Platform Mobile Apps 4
J Was soll das bedeuten ? does not require android.permission.BIND_JOB_SERVICE permission Android & Cross-Platform Mobile Apps 7
A Android Studio: ImageView verpixelt Android & Cross-Platform Mobile Apps 2
J intend Service im Android Studio Android & Cross-Platform Mobile Apps 4
L Android Android Development eventuell mit Flutter Android & Cross-Platform Mobile Apps 1
S Android Layout - welchen Typ? Android & Cross-Platform Mobile Apps 3
T Fehler Android Studio: java.net.MalformedURLException: no protocol: http%3A%2F%2Fwww.mal ..... Android & Cross-Platform Mobile Apps 2
Arif Android Android Studio: Fehler beim Einbinden fremder Bibliothek? Android & Cross-Platform Mobile Apps 2
L Android Android Contacts DB auslesen Android & Cross-Platform Mobile Apps 1
A Android Studio - App mit Nearby Android & Cross-Platform Mobile Apps 1
L Android content URI Datei einlesen Android & Cross-Platform Mobile Apps 9
N Android Game Background Service Android & Cross-Platform Mobile Apps 11
Jackii Android Android Studio Error im Testlauf ohne zu programmieren Android & Cross-Platform Mobile Apps 9
B Android Probleme mit Android Studio Android & Cross-Platform Mobile Apps 6
Excess Android Service läuft nicht in Sandby weiter Android & Cross-Platform Mobile Apps 2
B Android Projekt für Android und IOS erstellen? Android & Cross-Platform Mobile Apps 5
J App funktioniert auf Android 5, auf 6 nicht Android & Cross-Platform Mobile Apps 2
J Android Snake Android & Cross-Platform Mobile Apps 15
J Android TaschenRechner Android & Cross-Platform Mobile Apps 22
I Das Problem mit der Tastatur... android:windowSoftInputMode="adjustPan" Android & Cross-Platform Mobile Apps 1
E Wie erhalte ich Zugriff auf das Microfon? (Android Studio) Android & Cross-Platform Mobile Apps 9
C Android Programmierung speziell oder einfach Java Buch kaufen? Android & Cross-Platform Mobile Apps 3
B Android Kein Zugriff auf Telefonspeicher (Android 6) Android & Cross-Platform Mobile Apps 1
T Android Equalizer für Android Android & Cross-Platform Mobile Apps 3
L Android Android Studio - Exportierte APK funktioniert nicht Android & Cross-Platform Mobile Apps 6
L Android Methode funktioniert nicht unter Android Android & Cross-Platform Mobile Apps 3
A Beginnen mit Serverkommunikatsion in Android Studio Android & Cross-Platform Mobile Apps 6

Ähnliche Java Themen

Neue Themen


Oben