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 - 11: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 - 12: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 - 13: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 - 13: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 - 16: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 - 21: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 - 09: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 - 09: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 - 10: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 - 10: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

  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
Weiter

Neue Kommentare

  • Was für einen Server benutzt
    vor 1 Woche 4 Tagen
  • Wenn die Subdomain auf
    vor 1 Woche 6 Tagen
  • ordnerstruktur
    vor 1 Woche 6 Tagen
  • Die Subdomain muß auf den
    vor 2 Wochen 2 Tagen
  • Verwende doch das Tag dafür,
    vor 5 Wochen 4 Tagen
  • Guckst du hier: step by step
    vor 5 Wochen 3 Tagen
  • Guckst du hier: step by step
    vor 5 Wochen 3 Tagen
  • Ich habe ja keine Angst vor
    vor 6 Wochen 6 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 7 Wochen 1 Tag
  • Vielen Dank erst einmal, aber
    vor 7 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250289
Registrierte User: 20519

Neue User:

  • Wolf Dab
  • Scottteday
  • MichaelPeeno

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 24 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