# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Ctors | Methods | Inherited Methods

# SharedPreferencesBackupHelper

`public class SharedPreferencesBackupHelper`
`extends Object` `implements BackupHelper`

java.lang.Object
↳ | android.app.backup.SharedPreferencesBackupHelper

A helper class that can be used in conjunction with `BackupAgentHelper` to manage the backup of `SharedPreferences`. Whenever a backup is performed, it will back up all named shared preferences that have changed since the last backup operation.

To use this class, the application's backup agent class should extend `BackupAgentHelper`. Then, in the agent's `BackupAgent#onCreate()` method, an instance of this class should be allocated and installed as a backup/restore handler within the BackupAgentHelper framework. For example, an agent supporting backup and restore for an application with two groups of `SharedPreferences` data might look something like this:

     import android.app.backup.BackupAgentHelper;
     import android.app.backup.SharedPreferencesBackupHelper;

     public class MyBackupAgent extends BackupAgentHelper {
         // The names of the SharedPreferences groups that the application maintains.  These
         // are the same strings that are passed to Context#getSharedPreferences(String, int).
         static final String PREFS_DISPLAY = "displayprefs";
         static final String PREFS_SCORES = "highscores";

         // An arbitrary string used within the BackupAgentHelper implementation to
         // identify the SharedPreferenceBackupHelper's data.
         static final String MY_PREFS_BACKUP_KEY = "myprefs";

         // Allocate a helper and install it.
         public void onCreate() {
             SharedPreferencesBackupHelper helper =
                     new SharedPreferencesBackupHelper(this, PREFS_DISPLAY, PREFS_SCORES);
             addHelper(MY_PREFS_BACKUP_KEY, helper);
         }
     }

No further implementation is needed; the `BackupAgentHelper` mechanism automatically dispatches the `BackupAgent#onBackup(android.os.ParcelFileDescriptor, BackupDataOutput, android.os.ParcelFileDescriptor)` and `BackupAgent#onRestore(BackupDataInput, int, android.os.ParcelFileDescriptor)` callbacks to the SharedPreferencesBackupHelper as appropriate.

## Summary

### Public constructors
`SharedPreferencesBackupHelper(Context context, String... prefGroups)` Construct a helper for backing up and restoring the `SharedPreferences` under the given names.

### Public methods
`void` | `performBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState)` Backs up the configured `SharedPreferences` groups.
`void` | `restoreEntity(BackupDataInputStream data)` Restores one entity from the restore data stream to its proper shared preferences file store.
`void` | `writeNewStateDescription(ParcelFileDescriptor fd)` Called by `BackupAgentHelper` after a restore operation to write the backup state file corresponding to the data as processed by the helper.

### Inherited methods
From class `java.lang.Object`
`Object` | `clone()` Creates and returns a copy of this object.
`boolean` | `equals(Object obj)` Indicates whether some other object is "equal to" this one.
`void` | `finalize()` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
`final Class<?>` | `getClass()` Returns the runtime class of this `Object`.
`int` | `hashCode()` Returns a hash code value for the object.
`final void` | `notify()` Wakes up a single thread that is waiting on this object's monitor.
`final void` | `notifyAll()` Wakes up all threads that are waiting on this object's monitor.
`String` | `toString()` Returns a string representation of the object.
`final void` | `wait(long timeout, int nanos)` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.
`final void` | `wait(long timeout)` Causes the current thread to wait until either another thread invokes the `notify()` method or the `notifyAll()` method for this object, or a specified amount of time has elapsed.
`final void` | `wait()` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object.
From interface `android.app.backup.BackupHelper`
`abstract void` | `performBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState)` Based on `oldState`, determine what application content needs to be backed up, write it to `data`, and fill in `newState` with the complete state as it exists now.
`abstract void` | `restoreEntity(BackupDataInputStream data)` Called by `BackupAgentHelper` to restore a single entity from the restore data set.
`abstract void` | `writeNewStateDescription(ParcelFileDescriptor newState)` Called by `BackupAgentHelper` after a restore operation to write the backup state file corresponding to the data as processed by the helper.

## Public constructors

### SharedPreferencesBackupHelper

    public SharedPreferencesBackupHelper (Context context,
                    String... prefGroups)

Construct a helper for backing up and restoring the `SharedPreferences` under the given names.

Parameters
`context` | `Context`: The application `Context`
`prefGroups` | `String`: The names of each `SharedPreferences` file to back up

## Public methods

### performBackup

    public void performBackup (ParcelFileDescriptor oldState,
                    BackupDataOutput data,
                    ParcelFileDescriptor newState)

Backs up the configured `SharedPreferences` groups.

Parameters
`oldState` | `ParcelFileDescriptor`: An open, read-only `ParcelFileDescriptor` pointing to the last backup state provided by the application. May be `null`, in which case no prior state is being provided and the application should perform a full backup.
`data` | `BackupDataOutput`: An open, read/write `BackupDataOutput` pointing to the backup data destination. Typically the application will use backup helper classes to write to this file.
`newState` | `ParcelFileDescriptor`: An open, read/write `ParcelFileDescriptor` pointing to an empty file. The application should record the final backup state here after writing the requested data to the `data` output stream.

### restoreEntity

    public void restoreEntity (BackupDataInputStream data)

Restores one entity from the restore data stream to its proper shared preferences file store.

Parameters
`data` | `BackupDataInputStream`: An open `BackupDataInputStream` from which the backup data can be read.

### writeNewStateDescription

    public void writeNewStateDescription (ParcelFileDescriptor fd)

Called by `BackupAgentHelper` after a restore operation to write the backup state file corresponding to the data as processed by the helper. The data written here will be available to the helper during the next call to its `performBackup()` method.

This method will be called even if the handler's `restoreEntity()` method was never invoked during the restore operation.

Note: The helper should not close or seek the `newState` file descriptor.

Parameters
`fd` | `ParcelFileDescriptor`: A `ParcelFileDescriptor` to which the new state will be written.

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*