0

ローカルの Android データベースを、どこかのサーバー上のリモート データベースと同期したいと考えています。今のところ、基本的な HTTP 認証を使用して REST API 経由でこれを行いたいと考えています。

Google I/O 2010 の「Developing Android REST Client Applications」ビデオを読んで見ましたが、どのアプローチが自分に最も適しているかについてまだ少し混乱しています。

1.) コンテンツ プロバイダー + サービス

2.) コンテンツ プロバイダー + SyncAdapter

3.) 他に何か?

私はすでにコンテンツ プロバイダを作成しています。SyncAdapter と認証のしくみについて少し混乱しています。SyncAdapter で基本的な HTTP 認証を使用できますか?

4

1 に答える 1

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/

どのアプローチを選択するかについて: リモート DB とローカル DB の間で同期する場合 (つまり、コンテンツをダウンロードするだけでなく、本当に同期したい場合) は、同期アダプターが常に最良の選択です。

Android のサンプルをダウンロードした場合は、SampleSyncAdapter プロジェクトも掘り下げる必要があります。これで始められるはずです。

ところで: 基本的な HTTP 認証を行うことは決してありません。これは暗号化されておらず、サーバーとアプリ間のすべての通信は誰でも読み取ることができます。代わりに常に TLS (SSL) を使用してください。

于 2012-10-29T10:40:53.747 に答える