43 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
<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" />
 |