synchronization – Own sync adapter for Android?-ThrowExceptions

Exception or error:

The press release of Android 2.0 states that the new release supports sync adapters so that emails and calendars cannot only be synced with gmail and exchange. However, there is no information available online how to write such a sync adapter. Has anyone tried it and some example code available?

How to solve:

These two articles by Sam Steele (January 23rd, 2010) are about the implementation of the sync adapter. Do not miss the second part and the opensource projects that are mentioned at the end of the articles.


This article,, is a great, albeit brief overview of creating a sync adapter and getting it to play nice within the Android framework.


Simple basic explanation by Adam Pullen (last updated May 13, 2011). The article consists of two parts and contains the ShowMyAccountAuthenticator example project.


I’m still learning myself, but this thread should help you understand a little bit.


The article of Kyle Miller (March 10, 2012) summarizes how to get started with the SampleSyncAdapter project contained in the SDK samples. He describes how you can add an account for the app in the system settings of your phone. Basically, he explains how the classes AuthenticationService, Authenticator and AuthenticatorActivity are used to handle the server authentication using a token. At the end of the article are some words about authenticator.xml, syncadapter.xml and contacts.xml.


Here is something that I found

Implements a SyncAdapter for Contacts

Not sure if this is what we need to help us roll our own contacts sync service though.


I found this browsable source code of the android exchange sync adapter from the android sources:

These where not included, when I manually checked out the android sources at . Maybe someone can find the appropriate sources of the original google calendar/contact sync adapter? (not just the MS exchange ones)

Here is a german student research paper I found through google:

Leave a Reply

Your email address will not be published. Required fields are marked *