Sync application data between iOS and Android

There are applications that work on both iOS and Android (both on the phone and on tablets), and they manage to synchronize data on different devices.

  • Are there any frameworks or libraries that provide this synchronization feature?
  • If not, what are the different implementation options?
  • Can iCloud be used to synchronize application data on Android and iOS devices?
+6
source share
6 answers

Are there any frameworks or libraries that provide this synchronization feature?

Not. There are no frameworks or libraries that provide the cross-platform synchronization that iCloud provides for Apple devices.

If not, what are the different implementation options?

  • Do not use the synchronization mechanism at all and use web services instead. This may be a good solution for some cases.
  • Use the SQLite database in iOS and Android applications and create your own synchronization solution. Some of the problems that you will encounter if you decide to implement a special solution for synchronization are as follows:
    • Provide a registration mechanism to use services on the cloud / server side.
    • Reading and writing data to / from server / cloud
    • Conflict detection and resolution (i.e. merging conflicts)
    • Offline data access and handling situations when the device is not connected to any network.
    • In iOS, you will not be able to use Core-Data (which makes development relatively simple), so you will need to efficiently process data, optimize access to data, etc.

Can iCloud be used to synchronize application data on Android and iOS devices?

Not. iCloud is for Apple devices only (currently, July 2012).

+2
source

Are there any frameworks or libraries that provide this synchronization feature?

You can check out the OpenMobster Cloud Platform. The Sync service protects data replication between Android and iOS devices. All you have to do is develop a Java synchronization channel on the cloud side and use the device API on the device side to access your data. Here is a link to the project: http://openmobster.googlecode.com

Full disclosure: I'm the chief engineer of the OpenMobster platform

+4
source

I do not know about iOS, but with Android you can synchronize data with the cloud (your server) using the sync adapter. Example:

http://developer.android.com/training/cloudsync/index.html

So, if you get some data from the iPhone application to your server, you can simply synchronize it with the Android application and vice versa.

0
source

Dropbox Datastore API can synchronize your structural data (database), as well as synchronize the API and synchronize images, documents and other files.

https://www.dropbox.com/developers/datastore

https://www.dropbox.com/developers/sync

They have versions for iOS and Android.

0
source

Orando Labs EnduroSync is a new product that does exactly what you ask for. There are clients for iOS and Android, with more profitable ones.

Full disclosure: I work in Orando labs.

EnduroSync clients allow you to create object data stores on local devices. Clients are quite complex - the data is modeled as its own objects for each client we support (iOS and Android now, are getting closer). Customers work offline and online. Data is stored locally in the sqlite database.

As objects in your model change, deltas are written to the device. At some point, you can “synchronize” the object's data store. Synchronization uses the / push / pull commit process (e.g. git), but this is not visible to you. Synchronization allows you to update a local copy on any server and send any changes you make. Conflicts are resolved using timestamp aggregation, so newer data is not overwritten by older data.

EnduroSync is an online service, so there is no server installation on your server.

There is also a flexible permission system that allows you to share object data stores in a variety of ways. For example, most applications will have one or more object data stores for each user, for preferences, notes, tags, etc. You can also exchange data storages about objects for each application, for each type of user and using wild cards, in other ways.

So basically you use our client SDK to model your data on the device. Modeling is performed using simple objects in a programming language in the device language. If you sign up for synchronization services, you also get synchronization.

0
source

c2dm is deprecated:

Important: C2DM is officially deprecated as of June 26, 2012. This means that C2DM stops accepting new users and quota requests. No new features will be added to C2DM. However, applications using C2DM will continue to work. Existing C2DM developers are encouraged to upgrade to a new version of C2DM called Google Cloud Messaging for Android (GCM). See the migration document C2DM-GCM for more information. Developers should use GCM for new development.

Use GCM: Link

-1
source

Source: https://habr.com/ru/post/919737/


All Articles