1. Gewinne jetzt ein UMiDIGI C Note - alle Informationen findest du hier!!
  1. Han Solo, 14.07.2010 #1
    Han Solo

    Han Solo Threadstarter Neuer Benutzer

    Hallo zusammen, ich bin neu hier!

    Gibt es eine Möglichkeit eine fertige sqlite Datenbank auszuliefern, sodass diese nicht erst beim ersten Start erstellt werden muss?

    Ich habe hier 10 Datenbanken mit jeweils 180.000 Einträgen und würde diese daher ungern von der App selbst erstellen lassen und direkt fertig mitliefern. Ist das möglich?

    Danke!
     
  2. TheEvilOne, 14.07.2010 #2
    TheEvilOne

    TheEvilOne App-Anbieter (In-App)

    Das muß sogar möglich sein. Viele Apps greifen auf eine Datenbank zu und da wäre es ja ein Unding, wenn man diese erst bei der Installation erzeugen bzw. mit Daten füllen müßte.

    Erzeugt man eine SQLite-DB, wird diese im System in eine Datei abgelegt (wo genau das weiß ich grad auch nicht, da müßte man nochmal in der Doku nachlesen). Diese kannst Du ja dann kopieren und mit ausliefern.
     
  3. MichaelS, 14.07.2010 #3
    MichaelS

    MichaelS Fortgeschrittenes Mitglied

    Einfach die DB in den Ordner Asset legen ;) Von dort kannst du direkt laden oder diese auf die SD Card auslagern um darauf Updates zu fahren oder halt immer nen App Update machen, mit der neuen Version im Asset Ordner.
     
  4. TheEvilOne, 14.07.2010 #4
    TheEvilOne

    TheEvilOne App-Anbieter (In-App)

    Ich habe mir das jetzt auch mal angeschaut.

    Wenn ich eine SQLite Datenbank verwende wird diese ja in folgendem Verzeichnis abgelegt:

    /data/data/<packagename>/databases/<dbname>

    In einem anderen Thread habe ich gelesen, dass man im ContentProvider statt des DatabaseHelpers direkt die SQLiteDatabase verwenden kann.

    Ich habe jetzt eine Klasse erstellt, die von der Klasse SQLiteOpenHelper erbt. In der onCreate(SQLiteDatabase db) Methode werden über

    Code:
    db.execSQL("CREATE TABLE IF NOT EXISTS " ...
    
    die Statements ausgeführt, die die Tabellen anlegen. Kann mir jemand mal kurz anhand eines Beispiels zeigen/erklären, was ich nun tun muß, um dies (also das Erzeugen und Zugreifen der Datenbank im assets-Ordner) über den ContentProvider zu realisieren?

    Btw: Als Nachteil wurde bei dieser Methode beschrieben, dass wenn die Datenbank im assets-Ordner liegt, auch andere Programme darauf zugreifen können. Dies sei nicht möglich, wenn sie im oben angegebenen Programm-Pfad liegt.

    Danke und viele Grüße
     
  5. swordi, 14.07.2010 #5
    swordi

    swordi Gewerbliches Mitglied

    ich hab die ersten 500 bytes meiner sqlite db mit junk überschrieben

    und beim start tausch ich diese bytes durch die richtigen aus. so ist die db solange meine app sichtbar ist brauchbar. sobald was anderes in den vordergrund kommt, wird die db auf der sd karte wieder "zerstört" und niemand kann sie lesen.

    mitgeliefert hab ich die db nicht über asset ordner, sondern beim ersten start wird sie von einem server runtergeladen. hält die apk klein
     
    TheEvilOne gefällt das.
  6. TheEvilOne, 14.07.2010 #6
    TheEvilOne

    TheEvilOne App-Anbieter (In-App)

    Hey, super Idee. Das werd ich mir auf jeden Fall mal vormerken :)

    Btw: Was meine Anfrage im letzten Post angeht ist die Sache um ContentProvider doch etwas komplexer, weshalb ich von niemanden erwarten will, dass er mir das hier vorkaut. In dem Buch "Android - Grundlagen & Programmierung" ist das Thema ganz gut beschrieben und ich hab auch schon ein paar Beispiele ausgemacht.
     
    Zuletzt bearbeitet: 14.07.2010
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] APK erstellen Android App Entwicklung 11.06.2017
[OFFEN] Android Icon Pack dynamisch erstellen Android App Entwicklung 05.06.2017
[Meinung] Spezielle App für Mittelstand erstellen (lassen) Android App Entwicklung 23.05.2017
[OFFEN] Updateinstallation: Trotzdem Datenbank gelöscht Android App Entwicklung 12.05.2017
[ERLEDIGT] Listview mit Datenbank über Custom ArrayList verbinden Android App Entwicklung 22.04.2017
[ERLEDIGT] Datenbank in eine Cloud sichern (Backup) Android App Entwicklung 29.03.2017
[ERLEDIGT] App erstellen - Sprites? Android App Entwicklung 23.03.2017
[ERLEDIGT] In SQLite DB auf nächsten/vorherigen Datensatz zugreifen Android App Entwicklung 23.03.2017
Wie bekomme ich Map Markers von einer SQL Datenbank Android App Entwicklung 11.03.2017
SQLite asynchron benutzen Android App Entwicklung 26.02.2017
Du betrachtest das Thema "sqlite Datenbank im Vorfeld erstellen" im Forum "Android App Entwicklung",