1. Mitglieder surfen ohne Werbung auf Android-Hilfe.de! ✔ Jetzt kostenlos Mitglied in unserer Community werden.
  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 bedankt sich.
  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
Google Entwickler Account erstellen lassen Android App Entwicklung 02.08.2018
Android Room, wie einsteigen? Android App Entwicklung 31.07.2018
Eintrag in einer Datenbank mithilfe einer ListView löschen Android App Entwicklung 20.06.2018
Android Studio: Auf Datenbank mit zwei Spinner zugreifen. Android App Entwicklung 07.06.2018
SQLite Datenbank mit zwei Tabellen erstellen Android App Entwicklung 30.05.2018
apk erstellen? Android App Entwicklung 11.04.2018
Was am besten für eine Datenbank benutzen? Android App Entwicklung 26.02.2018
Eigene Web DB für App Inventor Android App Entwicklung 10.02.2018
Spinner item in Datenbank schreiben mysql Android App Entwicklung 23.12.2017
[OFFEN] Keine doppelten Einträge in die Firebase Datenbank Android App Entwicklung 27.10.2017
Du betrachtest das Thema "sqlite Datenbank im Vorfeld erstellen" im Forum "Android App Entwicklung",
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.