8

私のアプリでは、ログインしているかどうかにかかわらず、データを使用して管理することができます。よくSyncAdaptersはアカウントでしか動作しないので、この場合は匿名アカウントを作成することをお勧めしますか?アカウントを作成せずにSyncAdapterを使用する

匿名ユーザー用のアカウントを作成する必要がありますか、またはスレッド/ AsyncTasks/Loadersとデータを同期する必要がありますか?特に、アカウントを必要とせずにContentResolver.requestSync()を動作させる方法はありますか?

+1

認証済みユーザーと匿名ユーザーの両方で同じ同期プロセスを使用することをお勧めします。 requestSyncにはアカウントが必要です。これを使用する場合は、匿名アカウントを作成します。 – njzk2

答えて

5

AndroidでSyncAdapter/AccountManagerを使用することは、率直に言えば、それは価値があります。その特定のパターンは、多数の他のアプリケーションがあなたのアカウントデータ(TwitterやFacebookなど)を共有したいと考えている場合にのみ使用することをお勧めします。

同期を行うには、独自の背景Serviceの実装を記述することをおすすめします。 AlarmManagerを使用して、サービスに定期的に同期を通知することができます。それ以外の場合は、ユーザーが基本的なAsyncTaskを使用してアプリケーションを開いたときに単純に同期することができます。

+0

+1パターンが参考になるよりも制限的であることがわかります。 –

+0

私は、SyncAdapter/AccountManagerを使用することは、サーバのリソースの表現をキャッシュする共通のタスクを考えると、それよりも面倒ですが、自分のサービスを書くよりも本当に問題があるのでしょうか? –

関連する問題