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

  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • 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
  • 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
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 1 Woche 18 Stunden
  • Textboxen mit Tabelle
    vor 1 Woche 1 Tag
  • Du sollst ja auch keine
    vor 1 Woche 1 Tag
  • Theme
    vor 1 Woche 1 Tag
  • Welches Theme benutzt du
    vor 1 Woche 1 Tag
  • Mit Responsive Raster hatte
    vor 1 Woche 1 Tag
  • Hallo Alex,um das Häkchen
    vor 1 Woche 2 Tagen
  • Modul view_unpublished
    vor 1 Woche 3 Tagen
  • Modul "override node options"
    vor 1 Woche 4 Tagen
  • Im Grunde ist dass ein
    vor 1 Woche 6 Tagen

Statistik

Beiträge im Forum: 250270
Registrierte User: 20477

Neue User:

  • Robertnobia
  • AltonRaf
  • JeffreyPaf

» Alle User anzeigen

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