2017-01-31 10 views
3

現在、アンドロイドプロジェクトを開発中ですが、少し問題があります。データベースにfirebaseを使用していて、ローカルのストレージにデータをオフラインで保存していますが、database.setPersistenceEnabled(true);を2回設定すると、アプリがクラッシュします。どうすればそれを防ぐことができますか? 私はLoginActivityでこれを一度だけ設定していますが、私はそれを使用しませんが、私のアプリはバックグラウンドにあり、永続性のためにアプリがクラッシュしてしまいます。 少し質問がありますが、データをFirebaseに保存した後、私の活動は再び開きます。私はどちらも理解できません。誰でも助けてくれますか?Android Firebaseパーシスタンスセット

答えて

4

Applicationクラスをオーバーライドし、それをマニフェストに追加してから、 database.setPersistenceEnabled(true);を呼び出す必要があります。 例:

public class MyApplication extends Application { 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     FirebaseDatabase.getInstance().setPersistenceEnabled(true); 
    } 

} 

その後、あなたのAndroidManifest.xml中:

<application 
     android:name=".MyApplication" <!--Relative path of MyApplication.java--> 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     tools:replace="android:supportsRtl" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
... 
</application> 
+0

感謝の男、あなたは私の命を救いました。 –

+0

マニフェストアプリケーションタグ内の "android.app.Applicationに割り当てできません"と表示されますか? –