Live-aktualisierung

  • Antworten:5
Chris84
  • Forum-Beiträge: 2

20.06.2013, 21:14:10 via Website

Hallo

Ich habe eine App programmiert die aber momentan sehr statisch ist.

Nun möchte ich Sie etwas dynamischer machen. Heisst ich habe eine SQL-Datenbank auf einem Server. In dieser Datenbank hat es unter anderem verschiedene Daten welche bewertet oder ergänzt werden können von den Usern, welche die App benutzen.

Zu meiner Frage wie kann ich z.B jeden halben Tag die neuen Daten, welche in die Datenbank geschrieben wurden auf alle User verteilen ? Oder ist es sinnvoller eine stetische Verbindung zu der Datenbank mit dem Handy aufgebaut zu lassen, was natürlich Netzwerkverbindung voraussetzt.

Ich habe im Internet leider nichts gefunden betreffend "Live-Aktualisierungen". Kennt jemand eine Technik um so etwas zu realisieren ?

Antworten
Barbaric-Chicken
  • Forum-Beiträge: 23

20.06.2013, 23:08:05 via Website

Hi,

verstehe ich das richtig, du willst also das jeden halben Tag (also alle 12 Stunden) automatisch ohne das der User eine Handlung dazu beiträfgt die Daten aus der Datenbank abegerufen werden und somit App Intern aktualisiert?

Wenn dem so ist fällt mir spontan ein das ich mal etwas von einer AlarmManager Klasse gehört habe.

http://developer.android.com/reference/android/app/AlarmManager.html

Soweit ich das Verstanden habe dient das dazu, dem Android System zu sagen, dass zu einem bestimmten Zeitpunkt in der Zukunft diese App die sich angemeldet hat eine bestimmte Aktion durchführen soll. Um sicherzustellen das das auch funktioniert wenn das Handy im SleepMode ist oder ähnlichem muss man das Ganze mit einem WakeLock kombinieren.

http://developer.android.com/reference/android/os/PowerManager.WakeLock.html

Somit könntest du also über den AlarmManager bescheid geben, dass du in 12 Stunden etwas machen möchtest, und der WakeLock hält deine App solange am laufen, bis alle Daten empfangen wurden und die Datenbank dann aktualisiert wurde....

Habe selbst noch nichts wirklich damit gemacht, habe selbst diese Woche das erste mal davon gehört^^

Vielleicht hilft dir das.

MfG

Barbaric-Chicken

Antworten
Christian
  • Forum-Beiträge: 307

20.06.2013, 23:10:27 via Website

Hi Chris84,

wie wäre es mit Push-Notification?

Also die Daten werden auf dem Server geändert und der Server verschickt dann ein Push-Nachricht an alle Clients.
Die App erhält die Nachricht und schaut ob die neuen Daten schon auf dem Gerät sind. Sollte das nicht sein bekommt der User entweder ne Mittelung oder die App lädt die Daten selbständig im Hintergrund.

Dieser Vorgang hätte halt den Vorteil das der Clint den Server nur ansprechen muss wenn neue Daten da sind bzw sich alte geändert haben.

mfg Christian

— geändert am 20.06.2013, 23:12:06

Antworten
impjor
  • Forum-Beiträge: 1.793

21.06.2013, 13:49:52 via App

Würde es nicht reichen, wenn die Daten beim App-Aufruf aktualisiert werden?
Das wäre für dich einfacher und Batterie schonender.
Gruß

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Chris84
  • Forum-Beiträge: 2

24.06.2013, 20:59:56 via Website

Hallo

Ja das ist eine gute Idee. Die Daten werden nur beim App-Aufruf heruntergeladen finde ich gut. Was für eine Technik würdest du denn da empfehlen? Eine einfache verbindung zu der DB und dann kontrollieren ob die Version in der DB derjenigen auf dem Handy entspricht oder kennst du eine andere Technik ?

Mit freundlichen Grüssen

Chris

Antworten
impjor
  • Forum-Beiträge: 1.793

24.06.2013, 21:46:15 via App

Am besten wohl einfach eine Webseite herunterladen, die dann die Daten via PHP aus der DB ausliest und dann in Form von JSON oder XML zuruckliefert. Das ganze nur noch in einen Thread packen und fertig.
Eventuell ganz interressant: http://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/

Gruß

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten