<p>This sample demonstrates how an application can communicate with a
cloud-based service and synchronize its data with data stored locally in a
content provider. The sample uses two related parts of the Android framework
&mdash; the account manager and the synchronization manager (through a sync
adapter).</p>

<p> The <a
href="../../../reference/android/accounts/AccountManager.html">account
manager</a> allows sharing of credentials across multiple applications and
services. Users enter the credentials for each account only once &mdash;
applications with the <code>USE_CREDENTIALS</code> permission can then query the
account manager to obtain an auth token for the account. An authenticator (a
pluggable component of account manager) requests credentials from the user,
validates them with an authentication server running in the cloud, and then
stores them to the account manager. This sample demonstrates how to write an
authenticator for your service by extending the new  <code><a
href="../../../reference/android/accounts/AbstractAccountAuthenticator.html">
AbstractAccountAuthenticator</a></code> abstract class. </p>

<p>The sync adapter (essential to the synchronization service) declares the
account type and ContentProvider authority to the sync manager. This sample
demosntrates how to write your own sync adapters by extending the <code><a
href="../../../reference/android/content/AbstractThreadedSyncAdapter.html">
AbstractThreadedSyncAdapter</a></code> abstract class and implementing the
<code>onPerformSync()</code> method, which gets called whenever the sync manager
issues a sync operation for that sync adapter. </p>

<p> The cloud-based service for this sample application is running at: </p>
<p style="margin-left:2em;">http://samplesyncadapter.appspot.com/users</p>

<p>When you install this sample application, a new syncable "SampleSyncAdapter"
account will be added to your phone's account manager. You can go to "Settings |
Accounts &amp; Sync" to view the account and change its sync settings. </p>

<img alt="Screenshot 1" src="../images/SampleSyncAdapter1.png" />
<img alt="Screenshot 2" src="../images/SampleSyncAdapter2.png" />
<img alt="Screenshot 3" src="../images/SampleSyncAdapter3.png" />
