Tomer B
Tomer B

Reputation: 5465

Syncing a REST service with an android app

There's a REST service that I use to populate info in my database, that is later used by my app. I've read several threads on the matter, and now have to decide how I want the sync between the REST service and my DB to work.

Think of an app that gets info from google finance APIs about stocks and stores it in a DB, displays the information when the app is launched, and sends notifications when specific events happen in the stock price.

I already implemented the simple option of AsyncTask that is launched when a user manually requests a sync. Now I have to implement the auto-sync and these are the options I found:

So I found a lot of advantages to the second option, particularly those explained in this video, but also two major disadvantages:

Most of the info I found is pretty old, so maybe things have changed since, but my App is supposed to work with API level 8 and above, so I would be very thankful for any recommendations and links to valuable documentation.

Upvotes: 9

Views: 4463

Answers (2)

Sean
Sean

Reputation: 7670

Checkout https://github.com/sschendel/SyncManagerAndroid-DemoGoogleTasks.

Demonstrates setting up sync of Google Task API data to local SQLite db.

Upvotes: 0

jcwenger
jcwenger

Reputation: 11453

Definitely go with SyncAdapter. Follow instructions here: Why does ContentResolver.requestSync not trigger a sync?.

To do SyncAdapter, you'll also need to make an Account/AccountAuthenticator as well, so your SyncAdapter knows how to login to your service -- Unless it truly is the Google Finance APIs, in which case all you need to do is apply the right permissions in the manifest so that it will use the account settings already on the phone.

You didn't link the article you mentioned that discussed crashes, but I know it, and it's actually talking about Accounts -- Which yes, you do need to be careful with.

Upvotes: 3

Related Questions