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

Wo werden im Handy SQLite Datenbanken gespeichert?

Das Thema "Wo werden im Handy SQLite Datenbanken gespeichert?" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 17.05.2009, 19:44   #1 (permalink)
Android-Hilfe.de Mitglied
 
Benutzerbild von ensacom

Registriert seit: 15.05.2009
Beiträge: 68
Abgegebene Danke: 0
Erhielt 4 Danke für 1 Beitrag
ensacom eine Nachricht über ICQ schicken ensacom eine Nachricht über MSN schicken ensacom eine Nachricht über Skype™ schicken
Standard Wo werden im Handy SQLite Datenbanken gespeichert?

Hallo, wer kann mir sagen wo im Handy die SQLite-Datenbank, die durch mein Programm im Handy erzeugt wird, gespeichert?

Oder gibt es eine Möglichkeit direkt zu sagen er soll die DB auf der sdcard abspeichern?

Danke
ensacom ist offline   Mit Zitat antworten
Alt 17.05.2009, 20:31   #2 (permalink)
Erfahrener Benutzer
 
Benutzerbild von friedger

Registriert seit: 15.01.2009
Beiträge: 223
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
Pfeil AW: Wo werden im Handy SQLite Datenbanken gespeichert?

Normalerweise werden die Daten unter /data/data/<packagename>/databases/<dbname> abgespeichert.

Aber Dir steht es frei im ContentProvider statt des DatabaseHelpers direkt die SQLiteDatabase zuverwenden. Da kann man eine beliebige Datei als Datenbank angeben.

Aber dann kann jede App Deine Daten lesen....
friedger ist offline   Mit Zitat antworten
Alt 17.05.2009, 20:36   #3 (permalink)
Android-Hilfe.de Mitglied
 
Benutzerbild von ensacom

Registriert seit: 15.05.2009
Beiträge: 68
Abgegebene Danke: 0
Erhielt 4 Danke für 1 Beitrag
ensacom eine Nachricht über ICQ schicken ensacom eine Nachricht über MSN schicken ensacom eine Nachricht über Skype™ schicken
Standard AW: Wo werden im Handy SQLite Datenbanken gespeichert?

Hm Ok und der Ordner wird bei mir immer leer angezeigt.
Hast du ein minimal Beispiel wie ich Daten aus meiner datenbank als liste ausgeben lassen kann?
Wollte wissen wo die Daten liegen weil ich nicht weiss ob mein Programm die datenbank angelegt hat und ob die Daten in diese geschrieben wurden.

Geändert von ensacom (17.05.2009 um 20:42 Uhr)
ensacom ist offline   Mit Zitat antworten
Alt 17.05.2009, 20:51   #4 (permalink)
Erfahrener Benutzer
 
Benutzerbild von friedger

Registriert seit: 15.01.2009
Beiträge: 223
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
Standard AW: Wo werden im Handy SQLite Datenbanken gespeichert?

Tippe in der Konsole aus unter android-..../tools:

adb shell
su
sqlite3 data/data/<packagename>/databases/<dbname>
select * from <tablename>;
.quit
friedger ist offline   Mit Zitat antworten
Alt 17.05.2009, 21:03   #5 (permalink)
Android-Hilfe.de Mitglied
 
Benutzerbild von ensacom

Registriert seit: 15.05.2009
Beiträge: 68
Abgegebene Danke: 0
Erhielt 4 Danke für 1 Beitrag
ensacom eine Nachricht über ICQ schicken ensacom eine Nachricht über MSN schicken ensacom eine Nachricht über Skype™ schicken
Standard AW: Wo werden im Handy SQLite Datenbanken gespeichert?

ich benutze keinen emulator sondern führe alles drekt im handy aus.

habe es über das terminal probiert

Code:
ensacom-laptop tools # ./adb shell
$ sqlite3 data/data/com.ensacom.android.ensacom1/databases/tankpro
sqlite3: permission denied
$
Kann ich auch direkt auf die Ordnerrstruktur des Handy zugreifen?

Oder kennst Du eine kurze Minimal-Anleitung zum erstellen, schreiben und auslesen?
ensacom ist offline   Mit Zitat antworten
Alt 17.05.2009, 21:24   #6 (permalink)
Erfahrener Benutzer
 
Benutzerbild von friedger

Registriert seit: 15.01.2009
Beiträge: 223
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
Standard AW: Wo werden im Handy SQLite Datenbanken gespeichert?

Vorher in der shell
su
eintippen um root rechte zu haben.
Ohne Root-Rechte geht es wohl nicht.

Meinst Du einen DatabaseHelper für SD cards? Oder was für eine Minimal-Anleitung?
friedger ist offline   Mit Zitat antworten
Alt 17.05.2009, 21:32   #7 (permalink)
Android-Hilfe.de Mitglied
 
Benutzerbild von ensacom

Registriert seit: 15.05.2009
Beiträge: 68
Abgegebene Danke: 0
Erhielt 4 Danke für 1 Beitrag
ensacom eine Nachricht über ICQ schicken ensacom eine Nachricht über MSN schicken ensacom eine Nachricht über Skype™ schicken
Standard AW: Wo werden im Handy SQLite Datenbanken gespeichert?

Habe vorher su eingegeben. trotzdem diese Meldung.


Ich brauche nur eine Minimalanleitung, wie ich eine Datenbank anlege, eine Tabelle anlege, einen Datensatz einfüge und die Daten auslese.

Also schon mit DatabaseHelper.
Brauche nur was minimales ohne viel drumrum nur das ich mal sehe wie es funktioniert.
Das Tutorial Notes ist viel zu umfangreich, da blicke ich nicht ganz durch.

Will einfach die Daten dann in einer Liste ausgeben.
ensacom ist offline   Mit Zitat antworten
Alt 18.05.2009, 09:34   #8 (permalink)
Erfahrener Benutzer
 
Benutzerbild von friedger

Registriert seit: 15.01.2009
Beiträge: 223
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
Standard AW: Wo werden im Handy SQLite Datenbanken gespeichert?

Was ist nicht klar im Notepad tutorial?
Notepad Exercise 1 | Android Developers

Da wird genau das beschrieben. Besser kann ich das auch nicht. Oder geht es um das Englisch?

Gruß
Friedger
friedger ist offline   Mit Zitat antworten
Alt 18.05.2009, 11:11   #9 (permalink)
Android-Hilfe.de Mitglied
 
Benutzerbild von ensacom

Registriert seit: 15.05.2009
Beiträge: 68
Abgegebene Danke: 0
Erhielt 4 Danke für 1 Beitrag
ensacom eine Nachricht über ICQ schicken ensacom eine Nachricht über MSN schicken ensacom eine Nachricht über Skype™ schicken
Standard AW: Wo werden im Handy SQLite Datenbanken gespeichert?

Hallo, ich habe schon hier das Problem, das im quelltext selber kein Fehler angezeigt wird, aber wenn ich das Programm starte, das es sofort mit "xxx wurde unerwartet beendet. xxx" beendet wird.

Der Fehler scheint in der Zeile zu liegen.
Code:
ListAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.fahrzeuge, c, columns, names);
Hier mein Quelltext

Code:
public class fahrzeuge extends ListActivity {
    SQLiteDatabase myDB = null; 
      
      
    private final String MY_DATABASE_NAME = "tankpro";
    private final String MY_DATABASE_TABLE = "fahrzeuge";

    
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);

//Datenbank erstellen oder öffnen        
        myDB = this.openOrCreateDatabase(MY_DATABASE_NAME, MODE_PRIVATE, null);        
        
//Tabelle erstellen wenn noch nicht vorhanden        
        myDB.execSQL("CREATE TABLE IF NOT EXISTS " + MY_DATABASE_TABLE
                + " (id integer AUTO_INCREMENT PRIMARY KEY, name varchar(100), model varchar(100), bemerkungen varchar(255), kraftstoffart varchar(100))"
                +";");
        
//Daten in Tabelle einfügen
        myDB.execSQL("INSERT INTO "+MY_DATABASE_TABLE+" (name, model, bemerkungen, kraftstoffart) "
                                                     +"VALUES ('Audi','TT','Keine Bemerkung','Super');");
//Daten aus Tabelle auslesen        
        Cursor c = myDB.rawQuery("SELECT name, model FROM " + MY_DATABASE_TABLE + ";", null);
    
//Indizies der Spalten speichern        
        int kfzNameColumn  = c.getColumnIndex("name");
        int kfzModelColumn = c.getColumnIndex("model");
        
//Cursor an ersten Treffer setzten
        c.moveToFirst();
        
//KFZName in Variable speichern
        String kfzname = c.getString(kfzNameColumn);
//KFZModel in Variable speichern
        String kfzmodel = c.getString(kfzModelColumn);
        
        startManagingCursor(c);
        
        String[] columns = new String[]{kfzname};
        int[] names = new int[]{R.id.row_entry};
       
        ListAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.fahrzeuge, c, columns, names);
        
       this.setListAdapter(mAdapter);
    }
Kann da einer den Fehler erkennen?

Ich weiß das noch einiges zwischen try und finally gesetzt werden muss.

NACHTRAG:
Ich weiß jetzt das Daten ausgelesen werden. Habe einfach was mit Toast ausgeben lassen
Code:
Toast toast = Toast.makeText(fahrzeuge.this, kfzname + kfzmodel, Toast.LENGTH_SHORT);

Geändert von ensacom (18.05.2009 um 11:20 Uhr)
ensacom ist offline   Mit Zitat antworten
Alt 18.05.2009, 12:38   #10 (permalink)
Erfahrener Benutzer
 
Benutzerbild von friedger

Registriert seit: 15.01.2009
Beiträge: 223
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
Standard AW: Wo werden im Handy SQLite Datenbanken gespeichert?

Und was sagt der Stacktrace aus LogCat?
friedger ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Fotos Von Kamara werden wo gespeichert? PlaYOuT T-Mobile G1 Forum 2 24.05.2009 11:49
Lesen und schreiben in eine SQLite-Datenbank ensacom Android App Entwicklung 2 18.05.2009 14:23
Wo werden runtergeladene Bilder gespeichert und wie kann ich sie löschen? pMay Android Allgemein 1 08.05.2009 01:49
Wo werden Bilder gespeichert Chaos-Koch T-Mobile G1 Forum 8 22.04.2009 01:52
Kontakte werden automatisch in den Favoriten gespeichert, Warum? Umut T-Mobile G1 Forum 3 21.02.2009 22:18




Du liest gerade: "Wo werden im Handy SQLite Datenbanken gespeichert?" 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.