2017-08-07 13 views
0

アプリケーションはグローバル変数の使用で知られているので、私はApplicationクラスのonCreate()メソッドにFirebaseリモートコンフィグレーションをロードし、すべての変数が初期値で "public static"として保存されることをお勧めします。ApplicationクラスのFirebaseリモートコンフィグをロードする

古典的なゲッター/セッターでプライベートオブジェクトとしてリモートコンフィギュレーションを保存しようとしたため、ヌル例外が頻繁に発生するため、これが良い考えかどうかを知りたいだけです。

答えて

1

アプリケーションを使用しないでください。マルチプロセスアプリを持っている(またはこれまで持っていた)場合、Firebaseの機能には問題があるかもしれません。

あなたのアプリでfetch()を呼び出すと、値が必要になるとすぐに利用できるという保証はありません。あなたは、リモート設定パラメータを読み込むのに時間がかかるかもしれないことを考慮に入れて、あなたのアプリケーションを構築すべきです。起動時に絶対に必要とする場合は、読み込み画面を作成してそこに読み込みを開始し、読み込みが完了したときにのみ進めます。

Remote Configを使用するためのさまざまな方法があり、this blogで概要が説明されています。

0

Firebaseのリモートコンフィグはどういう意味ですか?

私の経験では、通常Application onCreate()を使用してFirebaseサービスを開始します。

次に、Firebaseトークンを収集し、その変更を待ち受けます。私はSharedPrefを使って自分のFirebaseトークンを保存します。

これが私のアプローチです。

null-exceptionの原因は、異なるコンテキストによって異なります。したがって、実装を示す方がよいでしょう。

+0

私はFirebase Remote Config変数を意味します。 https://firebase.google.com/docs/remote-config/ –

+0

私は参照してください。そして、私の提案は、アプリケーションの使用ではありません。なぜなら、アプリケーションはすべての可変変数を永遠に保つことが保証されていないからです。 あなたのアプリケーションがNullPointerExceptionでクラッシュしたのは、GCが定義された変数を収集する可能性があり、Firebaseインスタンスがもう一度それにアクセスしたときに、それはもう存在しなかったからです。 –

関連する問題