2016-06-17 11 views
0

私はAndroidプロジェクトに取り組んでいます。それはビジネスのためのものとロジックのためのもう一つのモジュールを持っています。このように:Androidアプリケーションの使い方モデル間のコンテキスト?

MyProject 
    > My-app-module 
    > My-logic-app-module 
    > settings 
     >SetNetworkManager.java 

多くの場所がSetNetworkManager.javaからメソッドmethod1を呼び出し、うまく機能があります。

しかし今私はsharedPreferencesに値を格納する必要があるので、私はmethod1Contextを使用する必要があります。私はどのようにコンテキストを得ることができますか?

だから、どのように私はマイ・ロジックアプリ-moudleマイアプリ-moudleアプリケーションコンテキスト使用できますか?

私のアイデアはMy-app-moduleアプリケーションのコンテキストを使用していますが、どうやったら可能かどうかわかりません。

method1のパラメータとしてContextを使用する場合は、約100箇所を変更する必要がありますが、明らかに良い考えではありません。

+1

をあなたは 'SetNetworkManager'のコンストラクタ引数としてコンテキストを渡し、プライベート変数に格納できます。 – 1615903

+0

しかし、すべてのSetNetworkManager()をSetNetworkManager(コンテキスト)に変更する必要があります。 –

+0

はい。 1回の検索と交換のコールで、1分ほどかかります。 – 1615903

答えて

0

SetNetworkManager.javaにシングルトンパターンを使用し、SetNetworkManager.getInstance(this).method1();のようなコンテキスト引数 を渡します。

EDIT:

あなたはSharePrefシングルトンを使用することができますし、変更SetNetworkManagerコンストラクタを必要としません。 私のgithubのを確認してください: https://github.com/dockusan/android-base-framework/blob/master/AndroidBaseFramework/app/src/main/java/dockusan/com/androidbaseframework/BaseApplication.java

だけ呼び出す:

SharedPrefUtils.putInt("key",1); 
+1

このようにシングルトンパターンを使用しないようにすると、あなたのコードは時間が経つと消え去ります。 –

関連する問題