{"id":77,"date":"2018-06-11T08:51:12","date_gmt":"2018-06-11T06:51:12","guid":{"rendered":"http:\/\/gundermann2.bplaced.net\/htdocs\/wordpress\/?p=77"},"modified":"2018-06-11T08:51:12","modified_gmt":"2018-06-11T06:51:12","slug":"initialisieren-der-datenbank","status":"publish","type":"post","link":"https:\/\/blog.nigdev.de\/?p=77","title":{"rendered":"Initialisieren der Datenbank"},"content":{"rendered":"<p>Um \u00fcber ein Programm Objekte in einem Datenbank verwalten zu k\u00f6nnen, muss das Programm eine Verbindung zu der Datenbank aufbauen. Dieser Artikel erkl\u00e4rt, wie diese Verbindung mit APersist geschaffen wird.<\/p>\n<p><!--more--><\/p>\n<p>F\u00fcr die Verbindung mit der Datenbank, werden folgene Informationen\/Objekte ben\u00f6tigt:<\/p>\n<ul>\n<li>Der Name der Datenbank<\/li>\n<li>Die Version der Datenbank<\/li>\n<li>Der Kontext der Anwendung <em>(<span class=\"pl-smi\">android.content.Context<\/span>)<\/em><\/li>\n<li>Die DbRegistry (siehe: <a href=\"http:\/\/gundermann2.bplaced.net\/htdocs\/wordpress\/?p=64&amp;preview=true\">Implementierung eines DAOs<\/a> Abschnitt 3. Anmelden des DAOs)<\/li>\n<\/ul>\n<p>Bei den von APersist verwendeten Datenbanken handelt es sich um SQLite-Datenbanken, wie sie im Anroid-Kontext verwendet werden. Das Anlegen der Datenbank unter einem bestimmten Naben wird also vollst\u00e4ndig vom Framework \u00fcbernommen und muss nicht separat durch den Nutzer vorgenommen werden.<\/p>\n<p>Die Version dient zur unterscheidung unterschiedlicher Versionsst\u00e4nde. Sollte sich an den bestehenden Entit\u00e4ten etwas \u00e4ndern oder eine neue Entit\u00e4t hinzukommen, so muss die Version inkrementiert werden.<\/p>\n<p>Zur Initialisierung der Datenbank steht eine Factory zur Verf\u00fcgung: <em><span class=\"pl-smi\">com.ng.apersist.DBFactory<\/span><\/em><\/p>\n<p>Diese Factory stellt eine Methode <em>createDatabase( context, name, dbRegistry, version ) <\/em>bereit, \u00fcber die ein Datenbank-Objekt erzeugt werden kann.<\/p>\n<p>Folgendes Beispiel zeigt die Initialisierung eines Datenbank-Objektes in einer Methode <em>init( context, name, registry, version)<\/em>:<\/p>\n<pre><code lang=\"java\">private Database init(Context ctx, String dbName, DbRegistry reg, String version){\r\n    return DbFactory.getInstance().createDatabase(ctx, dbName, reg, version);\r\n}<\/code><\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"twitter-share\"><a href=\"https:\/\/twitter.com\/intent\/tweet?via=NielsGundermann\" class=\"twitter-share-button\">Twittern<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Um \u00fcber ein Programm Objekte in einem Datenbank verwalten zu k\u00f6nnen, muss das Programm eine Verbindung zu der Datenbank aufbauen. Dieser Artikel erkl\u00e4rt, wie diese Verbindung mit APersist geschaffen wird.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[7],"_links":{"self":[{"href":"https:\/\/blog.nigdev.de\/index.php?rest_route=\/wp\/v2\/posts\/77"}],"collection":[{"href":"https:\/\/blog.nigdev.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.nigdev.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.nigdev.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.nigdev.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=77"}],"version-history":[{"count":3,"href":"https:\/\/blog.nigdev.de\/index.php?rest_route=\/wp\/v2\/posts\/77\/revisions"}],"predecessor-version":[{"id":99,"href":"https:\/\/blog.nigdev.de\/index.php?rest_route=\/wp\/v2\/posts\/77\/revisions\/99"}],"wp:attachment":[{"href":"https:\/\/blog.nigdev.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=77"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.nigdev.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=77"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.nigdev.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=77"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}