Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

[gelöst] Inhalte in Android-App updaten

Eingetragen von missingdot (145)
am 23.06.2015 - 10:51 Uhr in
  • Allgemeines zu Drupal
  • Drupal 7.x

Hallo zusammen,

mein kleines App-Projekt entwickelt sich prima. Via Services Modul sind nun sämtliche Inhalte meiner Drupalinstallation an die App angebunden. Nun folgendes Szenario:

Aufgrund mehrerer Faktoren soll die App nicht jedes mal den benötigten Inhalt dynamisch laden, sondern in einer lokalen Datenbank auf dem Smartphone zwischenspeichern. (Stichwort Datenvolumen, Internetverbindung, etc) Diese lokale DB soll dann im Falle von Änderungen in der Drupal-DB via Services aktualisiert werden.

Wie lässt sich das lösen? Habt ihr da Erfahrungen bzw. Ideen?

Dankeschön schonmal.

‹ [gelöst] massive Performance Probleme "Schema" [gelöst] Inhalte in Android-App updaten ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Das Datenmodell musst du selbst entwickeln

Eingetragen von ronald (3857)
am 23.06.2015 - 11:45 Uhr

SLQLight ist wohl nutzbar.

http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/

Für die Updates muss natürlich mehr oder weniger Regelmäßig der Service bemüht werden.

Wenn du offline, also lokal, auch Daten erfasst, musst du dir auch dafür eine Aktualisierungsstrategie überlegen.

Aber auch für die Aktualisierungen musst du dir überlegen, wie diese stattfinden sollen.

Werden immer nur die neuesten Daten geladen, und die bestehende Datenbank damit aktualisiert, ist dies komplizierter, spart aber Bandbreite.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke. SQLite haben wir

Eingetragen von missingdot (145)
am 23.06.2015 - 12:03 Uhr

Danke. SQLite haben wir androidseitig schon in Verwendung.

Die Inhalte werden nur in der Drupalinstallation gepflegt. Es gibt Inhalte, die regelmäßig aktualisiert und erweitert werden. Diese Inhalte sollen auf der App auch offline verfügbar sein und zwar immer in der neuesten Version. Und natürlich wäre es schön immer nur die geänderten Daten zu laden.

Die Frage an der ich gerade nicht weiter komme ist: Wie prüfe ich auf neue/aktualisierte Inhalte?

  • Anmelden oder Registrieren um Kommentare zu schreiben

alle nodes haben einen timestamp

Eingetragen von ronald (3857)
am 23.06.2015 - 12:50 Uhr

ich würd mir den letzten abgeholten timestamp lokal merken, um dagegen zu prüfen, ob es etwas mit einem neueren Timestamp gibt.

Wie du das im Service abfragst, musst du wahrscheinlich ein bisschen probieren.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das wäre eine Idee. Es gibt

Eingetragen von missingdot (145)
am 23.06.2015 - 15:17 Uhr

Das wäre eine Idee. Es gibt also keinen Service (Modul) der das schon bietet?

Ist ja an sich ein Standardverhalten einer App sich gegen eine Datenbank abzugleichen... Dachte ich zumindest.

  • Anmelden oder Registrieren um Kommentare zu schreiben

ich bin gerade nicht zu 100% im Servicemodul fit

Eingetragen von ronald (3857)
am 23.06.2015 - 20:51 Uhr

schau nach, was geht, und welche Felder dir die nodestruktur liefert, bzw. wonach du selektieren kannst.

Ein Synchronisieren ist jedoch sicherlich etwas eigenes.

Vielleicht weiß ein anderer mehr über das service modul?
Robert vielleicht?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi,

Eingetragen von Hyp1 (1463)
am 24.06.2015 - 08:05 Uhr

da du Zugriff auf eine lokale SQLLite Datenbank hast,
ist die App zumidest eine hybride Android App(WebView).

Zitat:

Danke. SQLite haben wir androidseitig schon in Verwendung.

Die Inhalte werden nur in der Drupalinstallation gepflegt. Es gibt Inhalte, die regelmäßig aktualisiert und erweitert werden. Diese Inhalte sollen auf der App auch offline verfügbar sein und zwar immer in der neuesten Version. Und natürlich wäre es schön immer nur die geänderten Daten zu laden.

Die Frage an der ich gerade nicht weiter komme ist: Wie prüfe ich auf neue/aktualisierte Inhalte?

Es gibt mehrere Möglichkeiten:
Ich würde wie folgt vorgehen:
Du speicherst den letzten Timestamp (mit der höchsten Nummer) lokal auf dem Handy in einer Tabelle (last Timestamp).
Sobald das Handy online ist, sendest Du diesen Timestamp an den Service.
Alle Nodes mit Timestamps welche grösser sind wurden noch nicht gesendet oder Sie wurden aktualisiert.
Hier kannst Du dann die Nodes an das Handy senden und wieder den höchsten Timestamp aktualisieren.
Du kannst den Benutzer dann auch warnen, z.b: Achtung Ihre letzte Aktualisierung ist x Tage alt.

MfG

Robert

  • Anmelden oder Registrieren um Kommentare zu schreiben

das war auch mein Vorschlag

Eingetragen von ronald (3857)
am 24.06.2015 - 08:44 Uhr

die Frage war nun, gibt es im servicemodul eine vorgefertigte Abfrage dafür?

In etwa "liefere mir alle nodes vom content_type xyz und einem Timestamp > 123"

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Ronald, er kann es

Eingetragen von Hyp1 (1463)
am 24.06.2015 - 09:12 Uhr

Hallo Ronald,

er kann es probieren mit https://www.drupal.org/project/services_views

Hier kann er den Timestamp dann als Argument übergeben.
Ein Tutorial findet sich hier: https://www.youtube.com/watch?v=DZEhJKMeR5w
Anderenfalls stellt das Services Modul auch eine API zur Verfügung.

Grüsse

Robert

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja sehr cool! Vielen vielen

Eingetragen von missingdot (145)
am 26.06.2015 - 09:34 Uhr

Ja sehr cool! Vielen vielen Dank, die Lösung mit Services Views funktioniert ganz wunderbar!

Vielen Dank Euch beiden! :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Tag 16 Stunden
  • Hey danke
    vor 2 Tagen 11 Stunden
  • Update: jetzt gibt's ein
    vor 3 Tagen 5 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 14 Stunden
  • Da scheint die Terminologie
    vor 1 Woche 18 Stunden
  • Kannst doch auch alles direkt
    vor 1 Woche 5 Tagen
  • In der entsprechenden View
    vor 1 Woche 5 Tagen
  • Dazu müsstest Du vermutlich
    vor 1 Woche 5 Tagen
  • gelöst
    vor 4 Wochen 1 Tag
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 19 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association