Search code examples
androidiossynchronizationicloud

Sync application data between iOS and Android


There are applications that work on both iOS and Android (both Phone and Tablet), and they manage to sync the data across different devices.

  1. Are there any frameworks or libraries that provide this sync functionality?
  2. If not, what are the different options for implementation?
  3. Can iCloud be used for syncing application data across Android and iOS devices?

Solution

  • Are there any frameworks or libraries that provide this sync functionality?

    No. There are no frameworks or libraries that provide the kind of cross-platform sync that iCloud provides for Apple devices.

    If not, what are the different options for implementation?

    1. Don't use the sync mechanism at all, and use web-services instead. This might be a good solution for some cases.
    2. Use SQLite database in iOS and Android applications, and implement a sync solution on your own. Some of the challenges that you'll face if you choose to implement a custom sync solution are following:
      • Provide a registration mechanism, to use the cloud/server side services
      • Reading and writing data to/from the server/cloud
      • Detecting and resolving conflicts (i.e. merge conflicts)
      • Offline access to the data, and handling situations when device is not connected to any network
      • In iOS, you won't be able to use Core-Data (that makes development relatively very easy), so you'll have to take care of displaying data efficiently, optimizing the data access, etc

    Can iCloud be used for syncing application data across Android and iOS devices?

    No. iCloud is only for Apple devices (as of now, July 2012).