|  | <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 | 
|  | — the account manager and the synchronization manager (through a sync | 
|  | adapter). It also demonstrates how to provide users the ability to create | 
|  | and edit synchronized contacts using a custom editor.</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 — | 
|  | 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 class="note"><strong>Update:</strong> This sample has been updated for Android 4.0 to | 
|  | demonstrate new features, including: syncing and viewing contact groups, handling the "invite" | 
|  | intent, and a few other improvements.</p> | 
|  |  | 
|  | <p> The cloud-based service for this sample application is running at: </p> | 
|  | <p style="margin-left:2em;">http://samplesyncadapter2.appspot.com/</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 & 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" /> |