com.amazonaws.mobileconnectors.cognito
Class CognitoSyncManager

java.lang.Object
  extended by com.amazonaws.mobileconnectors.cognito.CognitoSyncManager

public class CognitoSyncManager
extends java.lang.Object

This saves Dataset in SQLite database. Here is a sample usage:

 CognitoCredentialsProvider provider = new CognitoCredentialsProvider(context,
         awsAccountId, identityPoolId, unauthRoleArn, authRoleArn);
 CognitoClient client = new DefaultCognitoClient(context, identityPoolId, provider);
 
 Dataset dataset = client.openOrCreateDataset("default_dataset");
 dataset.put("high_score", "100");
 dataset.synchronize(new SyncCallback() {
     // override callbacks
 });
 


Constructor Summary
CognitoSyncManager(android.content.Context context, java.lang.String identityPoolId, Regions region, CognitoCachingCredentialsProvider provider)
          Constructs a DefaultCognitoClient object.
 
Method Summary
 java.util.List<DatasetMetadata> listDatasets()
          Retrieves a list of datasets from local storage.
 com.amazonaws.mobileconnectors.cognito.DefaultDataset openOrCreateDataset(java.lang.String datasetName)
          Opens or creates a dataset.
 void refreshDatasetMetadata()
          Refreshes dataset metadata.
 void wipeData()
          Wipes all user data cached locally, including identity id, session credentials, dataset metadata, and all records.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CognitoSyncManager

public CognitoSyncManager(android.content.Context context,
                          java.lang.String identityPoolId,
                          Regions region,
                          CognitoCachingCredentialsProvider provider)
Constructs a DefaultCognitoClient object.

Parameters:
context - a context of the app
identityPoolId - Cognito identity pool id
region - Cognito sync region
provider - a credentials provider
Method Detail

openOrCreateDataset

public com.amazonaws.mobileconnectors.cognito.DefaultDataset openOrCreateDataset(java.lang.String datasetName)
Opens or creates a dataset. If the dataset doesn't exist, an empty one with the given name will be created. Otherwise, dataset is loaded from local storage. If a dataset is marked as deleted but hasn't been deleted on remote via refreshDatasetMetadata(), it will throw IllegalStateException.

Parameters:
datasetName - dataset name, must be [a-zA-Z0=9_.:-]+
Returns:
dataset loaded from local storage

listDatasets

public java.util.List<DatasetMetadata> listDatasets()
Retrieves a list of datasets from local storage. It may not reflects latest dataset on the remote storage until refreshDatasetMetadata is called.

Returns:
list of datasets

refreshDatasetMetadata

public void refreshDatasetMetadata()
                            throws DataStorageException
Refreshes dataset metadata. Dataset metadata is pulled from remote storage and stored in local storage. Their record data isn't pulled down until you sync each dataset. Note: this is a network request, so calling this method in the main thread will result in NetworkOnMainThreadException.

Throws:
DataStorageException - thrown when fail to fresh dataset metadata

wipeData

public void wipeData()
Wipes all user data cached locally, including identity id, session credentials, dataset metadata, and all records. Any data that hasn't been synced will be lost. This method is usually used when customer logs out.



Copyright © 2010 Amazon Web Services, Inc. All Rights Reserved.