| java.lang.Object | |
| ↳ | android.app.backup.BackupDataOutput | 
       Provides the structured interface through which a
       
        
         BackupAgent
        
       
       commits
 information to the backup data set, via its
       
        
         onBackup()
        
       
       method.  Data written for backup is presented
 as a set of "entities," key/value pairs in which each binary data record "value" is
 named with a string "key."
      
       To commit a data record to the backup transport, the agent's
       
        
         onBackup()
        
       
       method first writes an "entity header" that supplies the key string for the record
 and the total size of the binary value for the record.  After the header has been
 written, the agent then writes the binary entity value itself.  The entity value can
 be written in multiple chunks if desired, as long as the total count of bytes written
 matches what was supplied to
       
        
         writeEntityHeader()
        
       
       .
      
       Entity key strings are considered to be unique within a given application's backup
 data set. If a backup agent writes a new entity under an existing key string, its value will
 replace any previous value in the transport's remote data store.  You can remove a record
 entirely from the remote data set by writing a new entity header using the
 existing record's key, but supplying a negative
       
        dataSize
       
       parameter.
 When you do so, the agent does not need to call
       
        
         writeEntityData(byte[], int)
        
       
       .
       
       Here is an example illustrating a way to back up the value of a String variable
 called
       
        mStringToBackUp
       
       :
       
        static final String MY_STRING_KEY = "storedstring";
 public void
        
         
          onBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState)
         
        
        throws IOException {
     ...
     byte[] stringBytes = mStringToBackUp.getBytes();
     data.writeEntityHeader(MY_STRING_KEY, stringBytes.length);
     data.writeEntityData(stringBytes, stringBytes.length);
     ...
 }
       
      
      | Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 
          | 
        
          
          Write a chunk of data under the current entity to the backup transport.
          
         | 
       ||||||||||
| 
          | 
        
          
          Mark the beginning of one record in the backup data stream.
          
         | 
       ||||||||||
| 
         
          [Expand]
         
          
          Inherited Methods
          
         | 
       |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
         
           
         
         From class
         
          java.lang.Object
         
          | 
       |||||||||||
Write a chunk of data under the current entity to the backup transport.
| data | A raw data buffer to send | 
|---|---|
| size | The number of bytes to be sent in this chunk | 
| IOException | if the write failed | 
|---|
         Mark the beginning of one record in the backup data stream. This must be called before
         
          
           writeEntityData(byte[], int)
          
         
         .
        
| key | A string key that uniquely identifies the data record within the application | 
|---|---|
| dataSize | The size in bytes of this record's data. Passing a dataSize of -1 indicates that the record under this key should be deleted. | 
| IOException | if the write failed | 
|---|