http://developer.android.com/training/sync-adapters/creating-sync-adapter.html
http://udinic.wordpress.com/2013/07/24/write-your-own-android-sync-adapter/ *OR* https://github.com/Udinic/SyncAdapter
http://www.slideshare.net/AlexTumanoff/android-sync-adapter
http://www.vogella.com/tutorials/AndroidSQLite/article.html#contentprovider_overview
What is a content provider?
A SQLite database is private to the application which creates it. If you want to share data with other applications you can use a content provider (short provider).
A provider allows applications to access data. In most cases this data is stored in an SQlite database.
While a content provider can be used within an application to access data, its is typically used to share data with other application. As application data is by default private, a content provider is a convenient to share you data with other application based on a structured interface.
A content provider must be declared in the AndroidManifest.xml file.