1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Mit Emulator auf andere Datenbank zugreifen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von spike78, 29.11.2011.

  1. spike78, 29.11.2011 #1
    spike78

    spike78 Threadstarter Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    0
    Registriert seit:
    09.10.2011
    Hi Leute,

    kann ich in Android irgendwie auf eine SQL Lite Datenbank zugreifen die auf meiner Festplatte liegt. In meiner App greife ich auf eine SQLLite DB zu, die ja in meinem DATA Verzeichnis liegt. Nun würde ich diese DB gerne irgendow auf meine Platte auslagern, damit ich diese besser bearbeiten kann.

    Bisher greife ich wie folgt auf meine DB zu:

    Code:
    [SIZE=2][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]private[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] DatenbankManager [/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]mHelper[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE]
    [SIZE=2][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]private[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] SQLiteDatabase [/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]mDatenbank[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE]
    [SIZE=2] 
    [/SIZE][/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]mHelper[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] = [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]new[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] DatenbankManager([/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]this[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]);
    [/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]mDatenbank[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] = [/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]mHelper[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].getReadableDatabase();[/SIZE][SIZE=2]
    [/SIZE] 
    
    Grüße

    Spike
     
  2. swordi, 29.11.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    du kannst sie über adb von deinem emulator auf deine festplatte kopieren und zurück

    adb push - adb pull glaub ich
     
  3. spike78, 29.11.2011 #3
    spike78

    spike78 Threadstarter Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    0
    Registriert seit:
    09.10.2011
    Hi,

    so mache ich das bisher auch immer. Finde das nur sehr mühsam, da ich noch ständig die Datensätze per SQLLite Administrator ändern muss. So muss ich halt nach jeder Änderung die DB wieder zurück auf meinen Emulator kopieren.

    Gibt es keine Möglichkeit meinem Emulator zu sagen, verwende z.B. DB unter c:\test.db ?

    Grüße

    Spike
     
  4. swordi, 29.11.2011 #4
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    naja die frage ist, warum musst du ständig die datensätze ändern?
     
  5. spike78, 29.11.2011 #5
    spike78

    spike78 Threadstarter Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    0
    Registriert seit:
    09.10.2011
    Ich bin halt noch viel am testen und füge immer wieder mal neue Datensätze hinzu oder ändere andere. Wäre halt echt praktisch wenns ne andere Möglichkeit gäbe als das hin und her kopieren ?

    Gruß

    Spike
     
  6. swordi, 29.11.2011 #6
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    naja mit adb ist das ein aufruf und schon hast es runter oder rauf geladen.

    von daher ist das schon recht komfortabel
     
  7. Tom299, 29.11.2011 #7
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    für den pull hab ich mir ne batch-datei geschrieben, würde für push natürlich auch gehen. mußt nur bedenken, daß du das nur mit dem EMU machen kannst, wenn du dann mit dem handy testen willst, hast du keine root-rechte und somit kein zugriff.

    meine app hat aber ne backup-funktion, die mir meine db auf die SD-Karte kopiert, und darauf wiederum kannst du immer zugreifen. ein backup zurückspielen kann ich natürlich auch. somit kann ich auch auf meinem handy problemlos mit DBs testen :)

    achja, so könnte die batch-datei aussehen:
    adb -s emulator-5554 pull data/data/de.testapp/databases/test.db "C:\Projekte\testapp\db-emulator\test.db"
     

Diese Seite empfehlen