title: A cloud solution to synchronize app database in Android
body: <p>I'm developing a custom Contacts app that will store data on the device in a SQLite database. It's very important that this device database may be synchronized with a cloud database, for some reasons:</p>
  
  <p>Users may have more than one device and wish to have their app data up-to-date on all devices;
  Users may be able to access these data from a web application;
  As this app will store many pictures, device memory will not be enough to hold all data and an archive option will be available to keep data only on the cloud database.
  Archive to the cloud will be done automatically for older records.
  A restore option will be available to download data for records when needed.
  As you can see, device database will hold contacts for one user and the cloud database will be a similar db but holding data for all users. So, there is a logic in this synchronization. It`s not just a matter o copying the entire SQLite DB file up and down. This must be a row/column level synchronization.</p>
  
  <p>I'm wondering which kind of solution can i use to accomplish this? Is it possible to use Google Cloud or App Engine to implement the server-side? What can I do on the device side? Any ideas?</p>
  
  <p>I really appreciate any answers.</p>
  
  <p>Thanks.</p>