Wie richte ich den SyncAdapter korrekt ein?

8

Ich bin ein Neuling mit dem SyncAdapter. Ich habe mir das Google IO-Video angesehen (Vortragsvortrag hier ), und ich habe 2 Tutorials gelesen ( hier und hier ) darüber.

Ich habe auch den Code der Tutorials ausprobiert und es ist frustrierend, dass ich nicht herausfinden kann, wie man den SyncAdapter korrekt implementiert.

Was ich glaube ist, dass einige der Einstellungen (entweder im Manifest oder in den XML-Dateien) einfach falsch sind, aber ich kann nicht herausfinden warum.

Es ist mir gelungen, das Synchronisierungskonto hinzuzufügen und es auch mit seinem Symbol anzuzeigen.

Allerdings habe ich einige seltsame Probleme, die ich nicht herausfinden kann, warum sie auftreten:

  1. ermöglicht die Synchronisierung des Kontos. Der Endbenutzer kann nicht auf die Synchronisierungsschaltfläche drücken. Es scheint auch nicht automatisch zu synchronisieren, obwohl ich versucht habe, beim Hinzufügen des Kontos so etwas hinzuzufügen.

  2. Nach dem Hinzufügen des Kontos kann der Endbenutzer eine seltsame Beschreibung des Kontos sehen: "res / xml / authenticator.xml". nicht sicher, wo es eingestellt ist.

  3. Wenn ich auf das Konto klicke (nachdem es hinzugefügt wurde), sehe ich eine leere Liste (was ist wahrscheinlich. Wie kann ich dort mehr Elemente hinzufügen? Ich muss in Zukunft auch mit Facebook und Google Mail synchronisieren, aber Ich kann nicht erfolgreich sein, indem ich meinen eigenen contentProvider zu dieser Liste hinzufüge.

Ich brauche keine echte Autorisierung, also verwende ich den nächsten Code innerhalb der Aktivität, die sich von AccountAuthenticatorActivity erstreckt:

%Vor%

Ich habe auch versucht, die automatische Synchronisierung festzulegen und die Synchronisierung zu aktivieren, indem ich hier verwende.

    
android developer 25.07.2012, 09:43
quelle

1 Antwort

0

Über 1) ja Sie können nicht synchronisieren, wenn es keine Internetverbindung gibt. Der Grund dafür ist, dass ein Sync-Adapter zwar eine korrekte Definition eines Sync-Adapters ist, aber eine Komponente, mit der ein Backbone mit Ihren lokalen Daten synchronisiert werden soll. Wenn keine Verbindung besteht, ist es nicht sinnvoll, die Synchronisierung zu starten. Eigentlich gilt das nur theoretisch, weil ich einen sybc-Adapter entwickeln musste, auch wenn es keine Backbone-Datenbank gab.

Ich habe eine Komponente geschrieben, die vom Sync-Adapter aufgerufen wird, wenn sie ausgelöst wird, und von meiner eigenen Anwendung, wenn die Synchronisation notwendig ist, selbst wenn keine Verbindung besteht.

    
kingston 25.07.2012, 17:19
quelle