We have projects sync! I have now written a SyncProvider and service for syncing the projects down to the device. It creates a SQLite DB to store the information in, and then does a delta update of the data on subsequent syncs.
This is IMHO the best way to do it, so as to cut down on expensive network calls and wasting tons of mobile data. It will also allow many other things like quick project searches etc.
I have only done the bits, I still need to hook them all up, but should be able to do that pretty soon now.
I will have to also repeat this exercise for the users data as well, but the second time round should be way simpler!
I have been working on the feeds first, as I believe they offer some cool information.
Feeds are pulled and displayed in much the same way as the website, using an infinite scroller listener to add pages of feeds as you read through them. Avatar images are loaded and cached, to save bandwidth.
I still need to do a data sync provider for the projects in order to cut down on API calls, but that will be my next step.
The app now does proper sync between the Hackaday API and the device. This means that we only have to use just enough bandwidth to keep you fully updated on your feeds etc, as opposed to killing the API with polling requests all the time.
The AccountManager also means that you can turn off sync if you are on, say, roaming data and don't feel like racking up a zillion dollars worth of charges. You are also able to fully work with your account (update, delete, create additional accounts, multi user etc), as well as some other features.
I have now started to package the account manager portion as a separate lib/apk so that other future apps can simply reuse the account manager portion of the code, and never have to worry about doing any tricksy OAuth or permissions management!