0

我想將某個本地Android數據庫與某個服務器上的遠程數據庫同步。目前,我想通過基本HTTP身份驗證的REST API來完成此操作。Android同步 - SyncAdapter或HTTP基本身份驗證的一般服務?

我已經做了一些閱讀和觀看了谷歌I/O 2010「開發Android REST客戶端應用程序」的視頻,但我仍然對何種方法將是最適合我有點困惑:

1。 )內容提供商+服務

2)內容提供商+ SyncAdapter

3)其他的東西?

我已經寫了一個Content Provider。我對SyncAdapter以及身份驗證如何工作有點困惑 - 我可以使用SyncAdapter進行基本的HTTP身份驗證嗎?

回答

1

使用Android中的帳戶進行身份驗證。看看這個類:https://developer.android.com/reference/android/accounts/AbstractAccountAuthenticator.html

也看看這個博客帖子: http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-1/

至於選擇哪一種方法:如果你想有一個遠程數據庫和本地數據庫(也就是你們之間同步真的想要同步而不只是下載內容)同步適配器永遠是最佳選擇!

如果您已經下載了Android的示例,您還應該深入瞭解SampleSyncAdapter項目。這應該讓你開始。

順便說一句:永遠不要做基本的HTTP認證。這不是加密的,你的服務器和應用程序之間的所有通信都是可讀的。請始終使用TLS(SSL)!

+1

謝謝 - 我寫了「現在」,因爲我只是想在開發過程中使用基本的http auth來啓動和運行,然後轉向更好的方法。 – Mewzer

+1

啊,好吧,我錯過了這個「現在」 - 聽起來好多了:-)我會在我的答案中去掉那些「大膽」的標記。 –