2016-02-05 29 views
5

私は3つのモジュール:mod1,mod2およびmod3を持っています。モジュールmod1の依存関係はmod2mod3です。複数のモジュール間で文字列を共有するには?

私は3つのモジュール間で共有されるように、1つの文字列(特に、3つのモジュールすべてが一部のサーバーと3つのモジュールすべてが同じサーバーに接続され、3つに同じユーザーエージェントが設定されているため、UserAgentになります)あなたのString含む

+0

同じアプリケーションの 'mod1'、' mod2'と 'mod3'グラデーションモジュールか単なる孤立した部分ですか? –

+0

"gradle modules"とはライブラリの依存関係を意味します(Mavenリポジトリから取得)?いいえ、モジュール依存です(おそらく "同じアプリのちょうど分離された部分"と呼んでいます) –

+1

最初に垣間見ることは、ライブラリモジュールを作成し、 'mod1'、' mod2'、 'mod3'をそれ。あなたはただ一つの文字列を共有したいと考えているので、残念です。 –

答えて

0

あなたが他のすべてのモジュールに共通にしたい、この「1つの文字列」場合は、strings.xmlファイル(.javaファイルでないString値)で、その後、あなたは、共通のモジュールを作成することができていると言う、mode0、他のモジュールで共通に使用する値はstrings.xmlです。次に、mode0を他のモジュールへの依存として追加することができます。これはおそらくこれを行う最良の方法ではないかもしれませんが、これが役に立つと願っています!

0

これを行う1つの方法は、情報の書き込みと読み取りを行うメソッドでパブリッククラスを作成することです。

public static String readnote(Context context, String str) { 
    if (context == null) throw new RuntimeException ("Context is null"); 
    SharedPreferences sp = context.getSharedPreferences("somenameyouchoose", 0); 
    String mycontent = sp.getString(str); 
    return mycontent; 
} 

public static String writenote(Context context, String str) { 
    if (context == null) throw new RuntimeException ("Context is null"); 
    SharedPreferences sp = context.getSharedPreferences("somenameyouchoose", 0); 
    SharedPreferences.Editor editor = sp.edit(); 
    editor.putString(str); 
    editor.commit(); 
    return str; 
} 

次に、あなたは(この、 "myUserAgent")とreadnote(この、 "myUserAgent")をwritenoteことができます。

インテントを使用する場合は、別の方法として、intent.putExtraを使用する方法があります。

+0

@マリアンあなたの問題を解決するのに役立つと思われる答えが正しいかどうかを確認してください。ありがとうございました。 – statosdotcom

0

トップレベルビルドファイルのサブプロジェクトエントリにビルド設定フィールドを追加します。次に、各モジュールのごBuildConfigファイルにあなたが表示されます

subprojects { 
    afterEvaluate { project -> 
     if (project.hasProperty("android")) { 
      android.defaultConfig { 
       buildConfigField 'String', 'USER_AGENT', "\"Android-agent\"" 
      } 
     } 
    } 
} 

public static final String USER_AGENT = "Android-agent"; 

P.S.を

それはこのようなものになりますおそらく、それはアンドロイドサブプロジェクト検出の最良の実装ではありませんが、私が知っている最高のものでしょう

関連する問題