Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Auto-Sync

Das Thema "Auto-Sync" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 27.08.2011, 10:41   #1 (permalink)
Junior Mitglied

Registriert seit: 10.08.2010
Beiträge: 46
Abgegebene Danke: 5
Erhielt 1 Danke für 1 Beitrag
Standard Auto-Sync

Halli hallo,
ich hab mich mit Android App Entwicklung noch nicht allzu sehr auseinander gesetzt, aber da ich Java kann und man für die Android spezifischen Sachen gute Tutorials/ genug Anleitungen findet habe ich nur noch eine Frage.

Und zwar will ich ein Programm schreiben, dass automatsich etwas aktualisiert (aus dem Internet). Soviel ich weiß beendet Android aber auch mal Anwendungen, dass darf aber bei dem automatischen Aktualisieren natürlich nicht passieren. Jetzt ist meine Frage wie "umgehe" ich das ganze?

Google Mail oder WhatsApp aktualisieren sich auch automatisch. Am besten wäre, wenn ich das Programm sogar im Auto-Sync Menü von den Android Einstellungen registrieren könnte.

Ansonsten muss ich einen "Dienst" nutzen oder wie realisieren das Programme wie GoogleMail?

Also zusammengefasst: Programm soll ständig was aktualisieren und solange wie ich "will" im Speicher bleiben mit allen Variablen usw.

Vielen Dank
Kane2 ist offline   Mit Zitat antworten
Alt 27.08.2011, 10:44   #2 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Auto-Sync

wenn dein programm die ganze zeit laufen würde, hätte dein akku keine freude


die beste lösung dafür:

du nutzt einen push-service ( c2dm von google oder sowas wie urban airship ). wenn es etwas zum aktualisieren gibt, schickst du einfach eine push nachricht zum gerät. Das startet dann einen Service, der im Hintergrund aktualisiert und die Daten speichert. Wenn der User dann die App wieder startet, hat er die neusten Daten.
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 27.08.2011, 11:06   #3 (permalink)
Junior Mitglied

Registriert seit: 10.08.2010
Beiträge: 46
Abgegebene Danke: 5
Erhielt 1 Danke für 1 Beitrag
Standard AW: Auto-Sync

Zitat:
Zitat von swordi Beitrag anzeigen
wenn dein programm die ganze zeit laufen würde, hätte dein akku keine freude
Es soll wie gesagt nur alle x Sekunden was aktualisieren und dann wars das.

Zitat:
Zitat von swordi Beitrag anzeigen
du nutzt einen push-service ( c2dm von google oder sowas wie urban airship ).
Wie genau funktioniert sowas denn? Ich mein man muss diesem Dienst (also jetzt z.B. C2DM) auch "sagen" was er aktualisieren soll und worauf er achten muss. Das ganze muss doch irgendwie programmiert werden, womit wird das gemacht?

Zitat:
Zitat von swordi Beitrag anzeigen
Das startet dann einen Service, der im Hintergrund aktualisiert und die Daten speichert. Wenn der User dann die App wieder startet, hat er die neusten Daten.
Also die Push-Nachricht wird an Android geschickt und dann startet sich erst ein Service? Muss ich diesen Service selber programmieren oder geschieht die Weiterleitung an das Programm automatsich durch die Registrierung des C2DM im Programm?
Kane2 ist offline   Mit Zitat antworten
Alt 27.08.2011, 11:16   #4 (permalink)
Erfahrener Benutzer

Modell: G1 DevPhone / SGS2 / SGT10.1v

Registriert seit: 20.01.2009
Beiträge: 238
Abgegebene Danke: 7
Erhielt 50 Danke für 47 Beiträge
Standard AW: Auto-Sync

C2DM Tutorial

Was bedeutet denn "alle x Sekunden aktualisieren"? Möchtest du wirklich nach festen Zeiten was aktualisieren, z.B. Nachrichten? Oder änderst du z.B. im Server etwas und die App soll dies mitkriegen? Für 1. würde ich dann 'nen Service benutzen, allerdings wie du schon erkannt hast ist hier nicht garantiert, dass er nicht beendet wird - as intented
sixi ist offline   Mit Zitat antworten
Alt 27.08.2011, 11:19   #5 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Auto-Sync

wenn du nur alle X minuten aktualisieren willst, warum willst du dann aktualisieren, wenn der nutzer die app geschlossen hat?

dann interessieren ihn die nachrichten ja nicht. du kannst maximal dann eine benachrichtigung geben, dass es neuigkeiten gibt. daraufhin startet er die app und du kannst synchronisieren.

c2dm musst du natürlich am server eine routine erstellen, welche dann die devices benachrichtigt, wenn es was neues gibt. keine ahnung woher du daten nimmst, deshalb kann man dir auch keine exakteren anweisungen geben.

natürlich musst du den lokalen service selbst programmieren, woher soll das sonst kommen
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 27.08.2011, 11:28   #6 (permalink)
Junior Mitglied

Registriert seit: 10.08.2010
Beiträge: 46
Abgegebene Danke: 5
Erhielt 1 Danke für 1 Beitrag
Standard AW: Auto-Sync

Zitat:
Zitat von sixi Beitrag anzeigen
Googlen kann ich auch . Ich wollte an für sich nur kurz das "Was" zusammengefasst haben, erstmal nicht das "Wie".

Zitat:
Zitat von sixi Beitrag anzeigen
Möchtest du wirklich nach festen Zeiten was aktualisieren, z.B. Nachrichten? Oder änderst du z.B. im Server etwas und die App soll dies mitkriegen? Für 1. würde ich dann 'nen Service benutzen, allerdings wie du schon erkannt hast ist hier nicht garantiert, dass er nicht beendet wird - as intented
Soll auf ersteres hinaus. Wenn ich die Einleitung jetzt aber richtig gelesen habe läuft C2DM darauf hinaus: ICH habe einen Server der wenn etwas neues ankommt, dem C2DM Dienst sagt "Da is wat neues angekommen für User XY", C2DM schickt pusht dann eine Push-Nachricht an Android von User XY und die Anwendung nimmt diese Nachricht entgegen und ruft daraufhin den tatsächlichen Inhalt ab.



...würde dann rausfallen, weil ich nicht auf meinem eigenen Server etwas überprüfen will.

Doofe Frage: Aber wenn die Anwendung doch immer die Push Nachricht entgegennehmen kann, dann kann ich das doch auch irgendwie nutzen? Also "irgendwas" von der Anwendung die eine Push-Nachricht empfangen kann muss doch immer aktiv sein, also kann ich das doch bei meiner Anwendung genauso "irgendwie machen".

Kann ich denn gewährleisten, dass zumindestens aufjedenfall alle x Sekunden etwas abgerufen wird? Dann müsste ich zur Not den alten Status nach jedem abrufen abspeichern (auf SD) und wenn die Anwendung beendet wurde, fällt das ganze nach Ablauf der x Sekunden auf und ich kann den Status wieder auslesen.

Zitat:
Zitat von swordi Beitrag anzeigen

natürlich musst du den lokalen service selbst programmieren, woher soll das sonst kommen
Ich kann jetzt so schnell die ganzen Tutorials nicht lesen wie antwortet aber: Die Push Nachricht kommt doch "so" einfach an durch die paar Zeilen Code und das meiste ist, sowie ich das sehe, "vorgegeben". Man muss lediglich nur noch sagen, was er machen soll, wenn eine Nachricht ankommt, aber soviel selbst programmieren muss man da doch nicht oder vertue ich mich da gerade?

Zitat:
wenn du nur alle X minuten aktualisieren willst, warum willst du dann aktualisieren, wenn der nutzer die app geschlossen hat?

dann interessieren ihn die nachrichten ja nicht. du kannst maximal dann eine benachrichtigung geben, dass es neuigkeiten gibt. daraufhin startet er die app und du kannst synchronisieren.
Nimm zum Beispiel einfach mal diesen Thread hier: Ich will immer wissen, ob es einen neuen Beitrag hier gibt. Das mache ich einfach indem ich den Inhalt der Seite entsprechend filter und nachschaue, ob es einen Unterschied zur letzten Überprüfung gibt. Ob der Beitrag nun 0,5 Sekunden alt ist oder die Benachrichtigung (bei einem Intervall von 60s) nach spätestens 59,xxs erscheint interessiert mich nicht wirklich, aber ich will die Anwendung nicht immer starten müssen ansonsten würde ich etliche Beiträge verpassen können, weil ich seit 2 Stunden die Anwendung nicht gestartet habe

P.S: Danke euch beiden schonmal!

Geändert von Kane2 (27.08.2011 um 11:42 Uhr)
Kane2 ist offline   Mit Zitat antworten
Alt 27.08.2011, 11:53   #7 (permalink)
Erfahrener Benutzer

Modell: G1 DevPhone / SGS2 / SGT10.1v

Registriert seit: 20.01.2009
Beiträge: 238
Abgegebene Danke: 7
Erhielt 50 Danke für 47 Beiträge
Standard AW: Auto-Sync

Zitat:
Doofe Frage: Aber wenn die Anwendung doch immer die Push Nachricht entgegennehmen kann, dann kann ich das doch auch irgendwie nutzen? Also "irgendwas" von der Anwendung die eine Push-Nachricht empfangen kann muss doch immer aktiv sein, also kann ich das doch bei meiner Anwendung genauso "irgendwie machen".
Die Push-Nachrichten werden von 'nem Google-Systemprogramm entgegengenommen und dann an deine App "weitergeleitet". Hat einfach den vorteil, dass nur eine permanente Verbindung offengehalten werden muss. Dementsprechen Batterieschonend.

"Garantieren" kannste die Ausführung wohl mit nem AlarmManger. Allerdings wie dort schon angemerkt:
Zitat:
The Alarm Manager is intended for cases where you want to have your application code run at a specific time, even if your application is not currently running. For normal timing operations (ticks, timeouts, etc) it is easier and much more efficient to use Handler.
__________________
Meine App: Die Cocktail App für Android™ - jetzt im Market (PRO)
sixi ist offline   Mit Zitat antworten
Alt 27.08.2011, 14:48   #8 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Auto-Sync

Zitat:
Zitat von Kane2 Beitrag anzeigen

Nimm zum Beispiel einfach mal diesen Thread hier: Ich will immer wissen, ob es einen neuen Beitrag hier gibt. Das mache ich einfach indem ich den Inhalt der Seite entsprechend filter und nachschaue, ob es einen Unterschied zur letzten Überprüfung gibt. Ob der Beitrag nun 0,5 Sekunden alt ist oder die Benachrichtigung (bei einem Intervall von 60s) nach spätestens 59,xxs erscheint interessiert mich nicht wirklich, aber ich will die Anwendung nicht immer starten müssen ansonsten würde ich etliche Beiträge verpassen können, weil ich seit 2 Stunden die Anwendung nicht gestartet habe

P.S: Danke euch beiden schonmal!
ja das is klar, aber du musst nicht die app nach jedem neuen beitrag aufs neue aktualisieren lassen.

aktualisieren solltest du nur, wenn der nutzer die daten auch benötigt. es reicht, wenn du ihm einen hinweis gibts, dass es neue daten gibt (das bezieht sich natürlich nur darauf, wenn der user die app geschlossen hat)

wenn die app offen ist, kannst du die daten sowieso öfters abrufen, oder auf nen aktualisieren button hören.

wenn es zb innerhalb eines tages 10 neue nachrichten gibt. der user die app aber nie öffnet, würde es nach deiner methode bei jeder neuen nachricht komplett synchronisieren.

meine methode würde nur einmal die daten synchronisieren, nämlich dann, wenn der user die app zum nächsten mal startet.

ist halt dann ne design frage, wie man es umsetzt
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 27.08.2011, 18:56   #9 (permalink)
Junior Mitglied

Registriert seit: 10.08.2010
Beiträge: 46
Abgegebene Danke: 5
Erhielt 1 Danke für 1 Beitrag
Standard AW: Auto-Sync

Zitat:
Zitat von swordi Beitrag anzeigen
aktualisieren solltest du nur, wenn der nutzer die daten auch benötigt. es reicht, wenn du ihm einen hinweis gibts, dass es neue daten gibt (das bezieht sich natürlich nur darauf, wenn der user die app geschlossen hat)
Richtig, aber woher soll mein Android wissen, ob es was neues gibt, wenn er die Seite nicht aktualisiert? Die Seite muss doch so oder so abgerufen werden ansonsten bräuchte ich extra einen eigenen Server der ständig online ist und das überprüft und dann per Push benachrichtigen. Das Problem ist nunmal das es nicht mein Server ist also muss zwangsweise es immer in einem bestimmten Interval überprüft werden, weil ich den Server nicht so einstellen/programmieren kann,dass er den C2DM Push Dienst nutzt.
Kane2 ist offline   Mit Zitat antworten
Alt 27.08.2011, 19:45   #10 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Auto-Sync

Ja dann wird blöd kann aber niemand wissen wenn du das nicht vorher erwähnst

Ist halt je nach anwendungsfall unterschiedlich zu implementieren
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
[Gelöst] Auto-Rotation ohne Funktion: Apps für auto-rotate sind verantwortlich! sirturbo Samsung Galaxy Tab Forum 4 27.07.2011 10:59
Sync vom 845 zu Outlook 2010 mit Android-Sync spanses Vodafone 845 Forum 8 23.02.2011 18:10
Soziale Netzwerke Sync / Kontakt Bilder Sync wo starten bzw. einstellen svenk16 Motorola Defy Forum 6 05.02.2011 14:11
HTC Sync oder Active Sync mit dem Milestone? atomphil Motorola Milestone Forum 12 20.09.2010 14:13
Hotmail Sync mit HTC Desire Android 2.1 (Active Sync) Jaque1987 HTC Desire Forum 8 18.09.2010 15:00




Du liest gerade: "Auto-Sync" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.