2016-10-12 10 views
0

私はいくつかのユーティリティクラスでクラスライブラリを使用する主要なアンドロイドプロジェクトを作成しています。このクラスライブラリは他のプロジェクトからアクセスされるため、プロジェクトからクラスライブラリに渡す必要のある設定情報があります。この情報はプロジェクト全体で同じですので、関数を呼び出すたびにパラメータとして渡すのではなく、一度だけ渡したいと思います。Android - ライブラリにグローバル情報を渡す

このグローバル情報をクラスライブラリに渡すにはどうすればよいですか?

この質問(Android main project with library project - how to pass setting between projects)は、情報を渡すためのセッターメソッドを作成することを提案していますが、これは常にライブラリーのインスタンスをアクティブにする必要があります。私は静的なプロパティを作成することを考えましたが、いくつかの場合(アプリケーションが別のアプリケーションにスワップされ、その後スワップバックされる)、クラスが再作成され、静的な値が失われる可能性があります。

+0

私は、Gradleからアプリに変数を注入できることを一度読んで覚えています。あなたが設定パラメータを持っているだけなら、ビルドツールを使うことは、アプリにハードコードされたものよりも良いでしょう –

答えて

0

ライブラリの静的initメソッドを作成し、Applicaionクラスのライブラリまたはアプリケーションのenteyポイントのライブラリを初期化することをお勧めします。

アプリモジュールでinitを実行しないと、ライブラリutilメソッドにexcepetionを投げることができます。

これは、有名な図書館のほとんどがgoogle analyticsのようなものです。

あなたが聞いたことは真実ではありません。静的フィールドは絶対に安全で、気にせずに使用できます。

関連する問題