So as I mentioned in the meeting I am dog fooding some sync ideas on
Android in the form of a DevNexus app.
Here are the two main interfaces that have precipitated out so far:
https://gist.github.com/secondsun/df6724e89d7ae06cbb64
*Warning Android Gory Details begin here*
I am working towards a PeriodicSyncAdapter that I mentioned in a
previous email. Android has this type of functionality built in but
it is VERY VERY heavy on boilerplate, XML, and complexity. I want
to build something which is lighter.
My current idea is to create a BroadcastReceiver which users can
register. The SynchronicationConfigs (no code to share but they are
just Key/Value Pojo's) will be instantiated into Synchronizers using
a Sychcronize factory class (think Pipeline). The Sychcronize
factory will tell the BroadcastReceiver about the Synchronizers, but
the Sychronizers will be what does the data loading, saving,
scheduleing, etc.
The Synchronizer and BroadcastReceiver are separate classes. The
BroadcastReceiver will be setup in the AndroidManifest.xml file and
the Synchronizer will be managed by user code. The reason they
BroadcastReceiver isn't managed by user code is because Android
won't wake up code which isn't in the AndroidManifest. IE if a sync
event happens while the app is not running then the sync will not
happen.
Summers