我希望将本地Android数据库与服务器上的远程数据库同步。目前,我希望通过具有基本HTTP身份验证的REST API来实现此目的。
我已经完成了一些阅读并观看了Google I / O 2010“开发Android REST客户端应用程序”视频,但是我仍然对哪种方法最适合我感到困惑:
1。)内容提供商+服务
2。)Content Provider + SyncAdapter
3。)还有别的吗?
我已经写了一个内容提供商。我对SyncAdapter以及身份验证的工作原理有点困惑 - 我可以使用SyncAdapter进行基本的HTTP身份验证吗?
答案 0 :(得分: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项目。这应该可以帮到你。
BTW:永远不要做基本的HTTP身份验证。这不是加密的,您的服务器和应用程序之间的所有通信都是可读的。始终使用TLS(SSL)!