Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

String-Problem (bei Sqlite-query)

Das Thema "String-Problem (bei Sqlite-query)" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 13.06.2011, 20:03   #1 (permalink)
Neuer Benutzer

Registriert seit: 13.06.2011
Beiträge: 10
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard String-Problem (bei Sqlite-query)

Hallo allerseits,

ich beschäftige mich erst seit kurzem mit JAVA und Android und habe eine Problem:

Folgende Code funktioniert:
private void ladeDaten(String query1) {

String keyword = "name1 LIKE '%"+"Test"+"%'";
Cursor klassenCursor = mDatenbank.query(
"Tabelle",
new String[] {
"name1",
"name2",
},
keyword, null, null, null, null
);

...und wenn ich den String "Test" durch query1 ersetze, dann stürzt der Emulator ab
String keyword = "name1 LIKE '%"+query1+"%'";

Hat jemand eine Idee, warum das so ist? Ich habe mir keyword auch schon in einem Toast ausgeben lassen...beide Male erhalte ich den selben String, was ja auch okay wäre...

Danke
EcDroid


PS: Ich verwende eclipde als IDE...

Geändert von EcDroid (13.06.2011 um 20:12 Uhr) Grund: Titel
EcDroid ist offline   Mit Zitat antworten
Alt 13.06.2011, 21:39   #2 (permalink)
Ehren-Mitglied
 
Benutzerbild von Kranki

Modell: Nexus One

Registriert seit: 19.07.2009
Beiträge: 4.329
Abgegebene Danke: 127
Erhielt 1.372 Danke für 871 Beiträge
Kranki eine Nachricht über ICQ schicken
Standard AW: String-Problem (bei Sqlite-query)

Bitte bei Abstürzen immer Logcat-Ausgabe posten.
__________________
CyanogenMod 7 Nightly - AmonRa Recovery 2.0 - Nexus One
Kein Support via PN und E-Mail. Bitte das Forum nutzen.
"Es ist Mode geworden, die Freiheitsrechte des Bürgers in den Mittelpunkt zu stellen." - Siegfried Kauder
Kranki ist offline   Mit Zitat antworten
Alt 13.06.2011, 21:49   #3 (permalink)
Neuer Benutzer

Registriert seit: 13.06.2011
Beiträge: 10
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: String-Problem (bei Sqlite-query)

Uff...LogCat...davon habe ich schon gehört
Da muss ich mich wieder reinlesen...

Eins habe ich gerade rausgefunden...
ladeDaten(String query1) wird in einem onItemSelected eines Spinners aufgerufen und es sieht fast danach aus, dass query1 noch null ist...puh...muss man da etwas bestimmtes einfügen, damit ladeDaten(String query1) erst aufgerufen wird, wenn der Wert (=Eintrag des Spinners) fix da ist...ein Delay??
EcDroid ist offline   Mit Zitat antworten
Alt 14.06.2011, 09:03   #4 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: String-Problem (bei Sqlite-query)

wie schon gesagt - logcat posten ( dafür musst dich nicht wirklich einlesen, ist nur ein kopieren von roten zeilen in der logcat ansicht )

alles andere ist ein ratespiel
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 14.06.2011, 09:13   #5 (permalink)
Neuer Benutzer

Registriert seit: 13.06.2011
Beiträge: 10
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: String-Problem (bei Sqlite-query)

Ja, sorry

06-14 07:08:51.212 .....
06-14 07:10:29.332: WARN/PackageManager(39): Code path for pkg : test.spinner1 changing from /data/app/test.spinner1-1.apk to /data/app/test.spinner1-2.apk
06-14 07:10:29.363: WARN/PackageManager(39): Resource path for pkg : test.spinner1 changing from /data/app/test.spinner1-1.apk to /data/app/test.spinner1-2.apk
06-14 07:10:31.372: WARN/RecognitionManagerService(39): no available voice recognition services found
06-14 07:10:36.652: WARN/ActivityThread(326): Application test.spinner1 is waiting for the debugger on port 8100...
06-14 07:10:45.132: WARN/ActivityManager(39): Launch timeout has expired, giving up wake lock!
06-14 07:10:46.522: WARN/ActivityManager(39): Activity idle timeout for HistoryRecord{45fd8260 test.spinner1/.SpinnerActivity}

Ufff...

Geändert von EcDroid (14.06.2011 um 09:32 Uhr) Grund: gekürzt
EcDroid ist offline   Mit Zitat antworten
Alt 14.06.2011, 09:31   #6 (permalink)
Neuer Benutzer

Registriert seit: 13.06.2011
Beiträge: 10
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: String-Problem (bei Sqlite-query)

Und so ist die LogCat, wenn ich den String mit einem Fixwert setze:

06-14 07:25:57.953....06-14 07:27:22.198:

WARN/PackageManager(68): Code path for pkg : test.spinner1 changing from /data/app/test.spinner1-2.apk to /data/app/test.spinner1-1.apk
06-14 07:27:22.219: WARN/PackageManager(68): Resource path for pkg : test.spinner1 changing from /data/app/test.spinner1-2.apk to /data/app/test.spinner1-1.apk
06-14 07:27:27.248: WARN/RecognitionManagerService(68): no available voice recognition services found
06-14 07:27:39.099: ERROR/CursorWindow(317): need to grow: mSize = 1048576, size = 99, freeSpace() = 24, numRows = 5405
06-14 07:27:39.099: ERROR/CursorWindow(317): not growing since there are already 5405 row(s), max size 1048576
06-14 07:27:39.129: ERROR/CursorWindow(317): The row failed, so back out the new row accounting from allocRowSlot 5404
06-14 07:27:39.129: ERROR/Cursor(317): Failed allocating fieldDir at startPos 0 row 5404
06-14 07:27:50.018: ERROR/CursorWindow(317): need to grow: mSize = 1048576, size = 99, freeSpace() = 24, numRows = 5405
06-14 07:27:50.018: ERROR/CursorWindow(317): not growing since there are already 5405 row(s), max size 1048576
06-14 07:27:50.028: ERROR/CursorWindow(317): The row failed, so back out the new row accounting from allocRowSlot 5404
06-14 07:27:50.038: ERROR/Cursor(317): Failed allocating fieldDir at startPos 0 row 5404
06-14 07:27:50.198: WARN/InputManagerService(68): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$ Proxy@45030b30


...da gibt es kein Problem.

Geändert von EcDroid (14.06.2011 um 09:32 Uhr) Grund: gekürzt
EcDroid ist offline   Mit Zitat antworten
Alt 14.06.2011, 13:57   #7 (permalink)
Neuer Benutzer

Registriert seit: 13.06.2011
Beiträge: 10
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: String-Problem (bei Sqlite-query)

Eins finde ich auch komisch, aber das liegt wohl an meinen beschränkten Java-Kenntnissen....

Das funktioniert:
Cursor klassenCursor = mDatenbank.query(
"Tabelle",
new String[] {
"feld1",
"feld2"
},
null, null, null, null,null );

und das nicht:
String keyword = null;
Cursor klassenCursor = mDatenbank.query(
"Tabelle",
new String[] {
"feld1",
"feld2"
},
keyword, null, null, null,null );

Kann man einen String nicht null setzen?

Geändert von EcDroid (14.06.2011 um 13:58 Uhr) Grund: Korrektur
EcDroid ist offline   Mit Zitat antworten
Alt 14.06.2011, 15:30   #8 (permalink)
Android Experte
 
Benutzerbild von DieGoldeneMitte

Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
Standard AW: String-Problem (bei Sqlite-query)

Gah doch mal mit dem Debugger durch und sag erstmal, bei welcher Zeile der Emulator abstürzt (und sag uns dann nicht nur die Zeilennummer ). Und sage auch, was Du mit "abstürzen" eigentlich meinst. Meinst Du, dass Dein Programm mit einem Fatal Close abstürzt? Oder verschwindet der ganze Emulator?

Kann es sein, dass Du "Pokemon Exception Handlung" (gotta catch them all) betreibst und die eigentliche Fehlermeldung unterdrückst?
__________________
Kein Support via PN/eMail. Bitte das Forum benutzen - dort haben alle etwas davon.
Bei Entwicklerfragen zu abstürzenden Apps bitte immer die Ausgabe von LogCat posten.
Tipp: Zum "Danke" sagen gibt es einen Button.
DieGoldeneMitte ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei DieGoldeneMitte für diesen Beitrag:
the_alien (14.06.2011)
Alt 14.06.2011, 15:38   #9 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: String-Problem (bei Sqlite-query)

Zitat:
Zitat von DieGoldeneMitte Beitrag anzeigen

Kann es sein, dass Du "Pokemon Exception Handlung" (gotta catch them all) betreibst[...]
Haha, das ist super, das muss ich mir merken
the_alien ist offline   Mit Zitat antworten
Alt 14.06.2011, 16:12   #10 (permalink)
Neuer Benutzer

Modell: Samsung Galaxy S (I9000)

Registriert seit: 13.06.2011
Beiträge: 2
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: String-Problem (bei Sqlite-query)

Hi

Ich bin zwar neu in dem Geschäft, aber vielleicht lohnt es sich ja mal folgende Idee auszuprobieren:
String keyword = "name1 LIKE '%?%'";
Cursor klassenCursor = mDatenbank.query(
"Tabelle",
new String[] {
"name1",
"name2",
},
keyword, new String[] {query1}, null, null, null
);

name1 ist doch auch als Spalte in der DB definiert, oder?

HTH,
OWLer
OWLer ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
R.string.stringValue mr.freeze Android App Entwicklung 1 15.02.2011 16:26
String parsen Gingerbread Android App Entwicklung 3 14.02.2011 09:26
SQLite: Text mit String vergleichen? rollobollo Android App Entwicklung 2 05.02.2011 10:34
String resource in einer String resource ansprechen computer_freak Android App Entwicklung 6 31.01.2011 17:39
String -> ACSII -> String hobride Android App Entwicklung 4 15.09.2010 13:13




Du liest gerade: "String-Problem (bei Sqlite-query)" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.