2010-11-18 3 views
1

イムデータバックアップ

これを行うために、私は私のコードでBackupAgentを実施してきたと私は含ま.. Googleのサーバーに自分のアプリケーションのデータのバックアップをやろうとしこれはAndroid Manifestファイルと "Meta-data"(Android Backup Serviceで私のアプリケーションのパッケージを登録した後に取得)

バックアップを実行するアプリケーションを実行するとバックアップが実行されません。 WIFIにも接続されています)。

BackupAgentのonBackup()メソッドが呼び出されない理由を教えてください。

私はAndroidマニフェストファイルやいくつかのプログラムのどこに含まれるいくつかのものを紛失していますか?


以下

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="org.simpledatabackup" 
     android:versionCode="1" 
     android:versionName="1.0"> 

    <application android:icon="@drawable/icon" android:label="@string/app_name" 
       android:backupAgent="MyBackupAgent" 
       android:debuggable="true"> 


     <activity android:name=".SimpleDatabackup" 
        android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <meta-data android:name="com.google.android.backup.api_key" 
        android:value="AEdPqrEAAAAIZn2ysSLR5wNbcq1uaoWQO0HuipMetQENVTsilw" /> 

    </application> 

    <uses-sdk android:minSdkVersion="8" /> 

</manifest> 

とソースファイルが

public class SimpleDatabackup extends Activity { 

    private SharedPreferences myPrefs ;   // Shared Preferences 

    BackupManager mBackupManager; 


    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     myPrefs = this.getSharedPreferences("shared_prefs", MODE_WORLD_READABLE); 

     SharedPreferences.Editor edit = myPrefs.edit(); 
     edit.putString("firstname", "uday") ; 
     edit.putString("lastname", "kiran") ; 
     edit.commit() ; 

     mBackupManager.dataChanged(); 



    } 
} 

私のバックアップエージェントは、このようないくつかのものです..です私のマニフェストファイルです:私は内部の機能を実装していませんonBackup()とonRestore()です。一度私がほしいと思うものを実装する呼び出された場合..

public class MyBackupAgent extends BackupAgent { 

@Override 
public void onCreate() { 

    System.out.println("In MyBackuAgent's onCreate() method"); 

} 

@Override 
public void onBackup(ParcelFileDescriptor arg0, BackupDataOutput arg1, 
     ParcelFileDescriptor arg2) throws IOException { 

    System.out.println("In MyBackuAgent's onBackup()"); 
    // TODO Auto-generated method stub 

} 

@Override 
public void onRestore(BackupDataInput data, int appVersionCode, 
     ParcelFileDescriptor newState) throws IOException { 

} 

} 
+0

backupAgentのスニペットとマニフェストに追加した内容を表示できますか?あなたはどのようにonBackupが呼び出されていないと判断しましたか? –

+0

返信ありがとうMayara .. – uday

答えて

4

アプリケーションタグはマニフェストで

android:allowBackup="true" 
android:restoreAnyVersion="true" 
android:backupAgent="<package>.MyBackupAgent" 

を含めるテストのために即座にバックアップを起動する"Testing your BackupAgent"セクションに従ってください。

BackupManagerServiceは、backupmanagerへのdatacanged呼び出しの後、定期的にバックアップをスケジュールします。 [grepcode]

+0

+1のソースコードを釣り、1時間遅れに気づいて – skaffman

関連する問題