Android Room, wie einsteigen?

K

keen

Ambitioniertes Mitglied
10
Hallo, ich schreibe seit langem mal wieder eine kleine App.
Jetzt möchte ich gerne eine kleine Datenbank anlegen mit 2 Tabellen, (missions, members).
Habe mich etwas belesen und auch schon ein paar kurze Video gesehen zu Room.
Ich möchte jetzt gerne schnell ins Thema einsteigen um Room schon in meiner aktuellen App als Manager für meine Datenbank nutzen zu können.
Gibt es einfache Beispiel-Anwendungen, empfehlenswerte Blog Post oder Video zum schnellen und einfachen Einstieg in Room und Android Database?
 
Weil Room laut Google viel komfortabler ist und zu dem auch sehr interessant aussieht. Ich glaube, dass ich mich mit dem Konzept schnell anfreunden könnte.
Zuvor wollte ich einfach die Daten als JSON-File speichern und zur Laufzeit komplett in den Speicher laden. So mache ich es gelegentlich am PC in Python.
 
Weil Room laut Google viel komfortabler ist und zu dem auch sehr interessant aussieht.
Das kann ich leider nicht so bestätigen.

Zuvor wollte ich einfach die Daten als JSON-File speichern und zur Laufzeit komplett in den Speicher laden.
Da bietet sich eine DB schon mehr an.
 
Du hast schon mit Room gearbeitet?
Ich werde nachher mal ein Beispiel Programm nachschreiben. Bis jetzt stellen sich mir noch so einige Fragen .
Hoffe, dass sich so einiges beim erstellen der ersten App von selbst erklärt.
 
Room ist das einzige, was ich bis jetzt von Android Jetpack einsetze.

Es spart Zeit, und verringert den Code. Und es ist einer der Feature von dem großen Java Enterprise Frameworks, welchen ich wirklich vermisst habe.

Eine DB zu mappen ist genauso sinnvoll, wie Layout über xml zu mappen. Das Beispiel von Google ist echt gut, was du dann noch brauchst, kannst man recht einfach nachziehen. Besonders das man dieses ganze Cursor - Gedönst nicht mehr braucht, macht Room unverzichtbar.
 
Leider bin ich heute Abend nicht mehr dazu gekommen, mich weiter mit Room zu beschäftigen.
Gerade habe ich noch eine Beispiel-Anwendung gefunden, die ich mir morgen auf jeden Fall ansehen möchte.
irontec/android-room-example
 
Hey ho,
Weil Room laut Google viel komfortabler ist und zu dem auch sehr interessant aussieht..
Das kann ich so voll bestätigen. Es macht einiges angenehmer und übersichtlicher.

Wo scheitert denn der Einstieg? Ich habe mir einfach erstmal die offizielle Doku angeschaut. Wenn man schon mal ne ORM benutzt hat, ist das relativ intuitiv. Ansonsten gibt es doch bei Google 1000 weitere Tuts. Welche ich davon angeguckt habe weis ich nicht mehr. Aber wenn du konkrete Fragen hast, immer her damit. Endlich mal kein langweiliges Zeugs hier :D
[doublepost=1533104915,1533104857][/doublepost]
Eine DB zu mappen ist genauso sinnvoll, wie Layout über xml zu mappen. Das Beispiel von Google ist echt gut, was du dann noch brauchst, kannst man recht einfach nachziehen. Besonders das man dieses ganze Cursor - Gedönst nicht mehr braucht, macht Room unverzichtbar.
Dazu kommt noch, das es mega nice mit unit & co läuft. =)
 
  • Danke
Reaktionen: markus.tullius
Wo Du recht hast, hast du recht. :thumbsup:
 
Vielen Dank für das viele Feedback.

Ich habe jetzt die erste VersuchsApp erstellt und habe sehr stark gemerkt, dass ich länger nur Python für die Console programmiert habe.
Einiges im Android Studio ist neu und in andere Sachen musste ich mich wieder einlesen. Trotzdem hat es mir einer kleinen VersuchsApp gut funktioniert.
Ich habe das Beispiel wie oben genannt als Vorlage genutzt. Dabei habe ich anstatt Anko, Kotlinx für asynchrone Task genutzt.
Vieles ist mir während des selbstständigen Ausprobierens klar geworden.
Jetzt geht es darum Room in meiner ZielApp anzuwenden. Allerdings kann, aufgrund der fehlenden Erfahrung in der Appentwicklung, die Fertigstellung noch etwas dauern.
 
Kotlinx & Threads.

Das ist nichts gegen das Framework. Aber bevor du so etwas einsetzt, solltest du dich mit Thread beschäftigen. Das Wissen ist lebensnotwendig. Ich habe die letzte Zeit zu viele Apps gesehen, die massive Probleme mit der Thematik haben. Insbesondere, wenn unendlich viele Frameworks, wie z.B. RxJava eingesetzt werden. Die Apps sind meist extrem instabil, und es häufen sich die Heisenbugs.
 
Was meinst du mit 'Das ist nichts gegen das Framework'.

Cotroutines in Kotlin ist einer dieser Teile mit denen ich mich wieder näher beschäftigen muss bevor es rund läuft.
 
Weil der Status in Kotlin nur experimentell ist, In Android eine Java VM steckt, und Java eher ein gestörtes Verhältnis zu Cotroutines hat.
Das ganze ist recht kompliziert unter Java, und Android setzt schon von Haus aus massiv auf Threads. Da sollte man sehr vorsichtig vorgehen.

Und bevor du anmerkst, das du nur Kotlin programmierst. Das Betriebssystem (AOSP) ist in Java programmiert, und entgegen allen anderen Behauptungen ist Kotlin bis jetzt nicht die neue Hauptprogrammiersprache von Android.;)
 
Ich bekomme beim Build meiner Application eine Exception, wenn ich meinen Datenbankzugriff auf dem MainThread starten will.
Daher nutze ich Kotlinx.coroutines um den Zugriff auf die Datenbank auszuführen.

Ich mag Kotlin,
 
Ich bekomme beim Build meiner Application eine Exception, wenn ich meinen Datenbankzugriff auf dem MainThread starten will.
Daher nutze ich Kotlinx.coroutines um den Zugriff auf die Datenbank auszuführen.
Ich habe jetzt mal nur grob Coroutines überflogen, aber :D was spricht dagegen es auf dem bewerten Weg zu machen? Du kannst ja trotzdem in Kotlin proggen^^
 
Was ist denn der bewerte Weg?
 
Deinen Datenbankzugriff über Android-Bordmittel wie AsyncTask zu machen?!
 
  • Danke
Reaktionen: keen und swa00
Du sprichst mir aus der Seele. Ich benutze immer erst die Bordmittel. Wenn was um die Ohren fliegt, habe ich meist eine Ahnung, was falsch läuft. Zu dem muss ich nicht Fehler anderer Leute suchen.
KISS (Keep it simple, stupid), heißt für mich, dass ich meinen Code verstehe, und relative wenig Code habe. Wenn ich nur eine einfache GET HTTPSRequest habe, für was brauche ich ein riesiges Framework, das auch Video streamen kann? Und wie soll man ein guter Entwickler werden, wenn man nur fremden Code importiert, und diesen wie ein Baukasten zusammensetzen.

Bei manchen Sachen macht es Sinn ein Framework zubenutzen (z.B Room). Aber das ist Teil der Bordmittel von Android, und es wird von mehreren Entwickler gewartet und ist nicht mehr experimentell. Und mir ist klar, was da passiert. :)
 
  • Danke
Reaktionen: enrem und swa00

Ähnliche Themen

M
  • MikelKatzengreis
Antworten
10
Aufrufe
226
swa00
swa00
R
Antworten
6
Aufrufe
1.015
swa00
swa00
M
Antworten
4
Aufrufe
1.173
swa00
swa00
Zurück
Oben Unten