I am developing an Android App which I have developed for iOS before. The app requires that structured data and files are synced across android devices.
In iOS, I was using Core Data and synced to iCloud with the Ensembles framework, which was quite nicely, and I used Ensemble to sync files, too.
My requirements are:
- Syncing of structured data (Android's sqlite database)
- Syncing files
- It should not be necessary that the user sets up an account with a third-party service like dropbox, instead the app should take care of details of implementation, same like in iOS, where syncing is done to the user's Apple ID (Each iPhone User has an Apple ID, same like Android users usually have a Google account setup)
- It should not cost fees for the back-end (in iOS, the iCloud syncing is free of charge)
- It would be highly desirable to have an ORM, similar to Core Data, but I guess, that this is not possible, because Android needs Database Cursors?
I understand that there is a Dropbox API for that, but that is not free of charge and requires, to my understanding, a Dropbox account.
Another option could be Parse.com, but it is not free either, and it does not support transactions, which I require because I have relations between my objects. To my understanding, at least the user does not have to have a Parse.com account.
And then there is Google, but I am not sure at all, how their offering works, and what I need to implement in the app and on the server side. And to my understanding, it is not free, too
Can anybody enlight me? Any suggestions?