| |||||||
Das Thema "App läuft auf Emulator aber nicht auf dem Handy" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Junior Mitglied Registriert seit: 09.10.2011
Beiträge: 39
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
| ich habe mir eine App geschrieben, die Einträge aus einer SQLLite DB ausliest und diese in einer Liste ausgibt. In meinem Emulator läuft die Anwendung ohne Problem. Jetzt habe ich mir über Eclipse ein APK File erstellt und das dann auf meinem Handy installiert. Die Anwendung startet auch noch, aber sobald ich an die Stelle komme wo die Datenbank geöffnet werden soll und die Einträge in die Liste kommen, bricht meine App ab. Kann es sein das meine DB nicht installiert wurde oder muss ich noch was bestimmtes einstellen? Danke und Gruß Spike |
| | |
| | #3 (permalink) |
| Android Guru Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
|
wie wärs, wenn du mal den fehler posten würdest? ( => logcat )
__________________ App Entwicklung Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD ) |
| | |
| | #4 (permalink) |
| Fortgeschrittenes Mitglied Modell: HTC Sensation Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
|
wenn du in deinem handy auf einstellungen -> anwendungen -> entwicklung gehst und bei USB-Debugging ein häkchen setzt, dann kannst du deine app über eclipse auf dem handy installieren / starten und brauchst keine apk zu erstellen. den fehler hab ich anfangs auch gemacht ;-) wie hast du deine DB auf den emulator bekommen? mit adb gepusht? das wird auf dem handy nicht funktionieren, keine root-rechte. wenn deine db anfangs keine werte hat, kannst du sie mit create table scripts anlegen. ansonsten ins assets-verzeichnis kopieren und beim starten der app mußt du dann die db aufs handy kopieren. hier noch ein link dazu: http://www.reigndesign.com/blog/usin...-applications/ |
| | |
| | #5 (permalink) |
| Junior Mitglied Registriert seit: 09.10.2011
Beiträge: 39
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
|
Hi, folgendes hab ich gemacht: Ich habe in meiner Anwendung eine Tabelle mit CREATE TABLE... erzeugt. Wenn ich den Emulator starte, sehe ich meine DB im File Explorer im Data Verzeichnis. Dann habe ich mir diese DB mit dem File Explorer auf meine Platte kopiert und dann mit dem SQLLite Administrator die Tabelle mit Inhalt gefüllt. Danach habe ich die Tabelle wieder mit dem File Explorer zurück ins Data Verzeichnis kopiert. Das CREATE TABLE Statement habe ich wieder entfernt, da die Tabelle ja schon existiert. Es sollen nur noch Felder mit DB Inhalten gefüllt werden. In Eclipse über den Emulator läuft das auch alles top. Wenn ich auf meinem Handy direkt debugge wie Tom299 vorgeschlagen hat, bekomme ich auf meinem Handy die Meldung, Die Anwendung wurde unerwartet beendet (genau dort wo die Liste mit den DB Einträgen erstellt werden soll), aber im Logcat stehen keine Meldungen drin?? Gruß Spike |
| | |
| | #6 (permalink) |
| Junior Mitglied Registriert seit: 09.10.2011
Beiträge: 39
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
|
Noch ein Nachtrag: Nun bekomme ich Ausgaben im Logcat wenn ich auf meinem Handy debugge. 11-30 12:24:40.139: ERROR/AndroidRuntime(31051): Caused by: android.database.sqlite.SQLiteException: no such table: Tab1: , while compiling: SELECT _id, BESCHREIBUNG, BILDPFAD, ZUTATEN FROM Tab1 WHERE KATEGORIE_ID = 0 Fehler ist wohl das die DB nicht auf meinem Handy ist? Wie bekomme ich dadrauf und wo muss die hin? Danke und Gruß Spike |
| | |
| | #7 (permalink) |
| Fortgeschrittenes Mitglied Modell: HTC Sensation Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
|
wie man die DB kopiert hatte ich oben schon erwähnt bzw. den Link gepostet. beim Pfad kannste dich hieran orientieren: String DB_PATH = "/data/data/de.test/databases/"; String DB_NAME = "test.db"; also nach /data/data den packagenamen gefolgt von /databases. das kannst du aber auch in deinem EMU abschaue, die pfade sind ja gleich ;-) |
| | |
| | #8 (permalink) |
| Android Experte Registriert seit: 23.01.2010
Beiträge: 882
Abgegebene Danke: 74
Erhielt 149 Danke für 120 Beiträge
|
Du hast dir die Datenbank also NUR auf dem Emulator eingerichtet... Dein Handy bekommt jetzt eine Anwendung, die versucht auf eine Datenbank zurückzugreifen, die nicht da ist ... ergo entweder auf dem Handy per Root oder durch entsprechende Create Table etc. in der Anwendung die DB erzeugen lassen |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| App läuft auf Emulator, aber nicht auf Galaxy 9000 | Paranoid2011 | Android App Entwicklung | 2 | 08.05.2011 10:43 |
| WEB.DE auf dem defy aber nicht via app. aber wie? | CT-163 | Sonstige Apps & Widgets | 9 | 03.03.2011 12:16 |
| sms auf dem handy weg aber auf sense.com vorhanden | rice | HTC Desire HD Forum | 0 | 06.01.2011 21:59 |
| Läuft der psx4droid (PSX Emulator) auf dem Folio ?? | king_h1981 | Toshiba Folio 100 Forum | 0 | 23.11.2010 12:53 |
| Warum läuft Bada nicht auf dem I9000 und Android auf dem S8500 | PPicasso73 | Samsung Galaxy S (I9000) Forum | 5 | 22.11.2010 17:08 |