We are developing a native Android app (iOS and web to follow) where users can collaboratively create an album.
We want as seamless as possible experience when device is not able to connect with server. Something like mentioned in this Hoodie blog but Hoodie is right now for Web and iOS and we are looking for Android right now.
Problem
Maintaining data of albums, friends, pictures (URL/local, not Bitmap) on Client side. Being able to sync offline create/update operations to server at later time, with conflict resolution.
Current research
- HTTPResponseCache: Cons: Caches only requests which have been hit once. Plus need different system to handle create/update actions.
- App42, Kinvey: Backend-as-a-service; Cons: We want to have own backend.
- Microsoft Sync Framework Toolkit: Not sure how well it works with Android
- PouchDB
- Superbus: Solves a part of the problem
Custom
Maintain data in SQLite on Android and MySQL on server Sync using Android Sync Adapter. However, this can be time consuming and have bugs in starting.
How should this problem be approached?