私は3つのモジュール:mod1
,mod2
およびmod3
を持っています。モジュールmod1
の依存関係はmod2
とmod3
です。複数のモジュール間で文字列を共有するには?
私は3つのモジュール間で共有されるように、1つの文字列(特に、3つのモジュールすべてが一部のサーバーと3つのモジュールすべてが同じサーバーに接続され、3つに同じユーザーエージェントが設定されているため、UserAgentになります)あなたのString
含む
私は3つのモジュール:mod1
,mod2
およびmod3
を持っています。モジュールmod1
の依存関係はmod2
とmod3
です。複数のモジュール間で文字列を共有するには?
私は3つのモジュール間で共有されるように、1つの文字列(特に、3つのモジュールすべてが一部のサーバーと3つのモジュールすべてが同じサーバーに接続され、3つに同じユーザーエージェントが設定されているため、UserAgentになります)あなたのString
含む
あなたが他のすべてのモジュールに共通にしたい、この「1つの文字列」場合は、strings.xml
ファイル(.java
ファイルでないString
値)で、その後、あなたは、共通のモジュールを作成することができていると言う、mode0
、他のモジュールで共通に使用する値はstrings.xml
です。次に、mode0
を他のモジュールへの依存として追加することができます。これはおそらくこれを行う最良の方法ではないかもしれませんが、これが役に立つと願っています!
これを行う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を使用する方法があります。
@マリアンあなたの問題を解決するのに役立つと思われる答えが正しいかどうかを確認してください。ありがとうございました。 – statosdotcom
トップレベルビルドファイルのサブプロジェクトエントリにビルド設定フィールドを追加します。次に、各モジュールのご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.を
それはこのようなものになりますおそらく、それはアンドロイドサブプロジェクト検出の最良の実装ではありませんが、私が知っている最高のものでしょう
同じアプリケーションの 'mod1'、' mod2'と 'mod3'グラデーションモジュールか単なる孤立した部分ですか? –
"gradle modules"とはライブラリの依存関係を意味します(Mavenリポジトリから取得)?いいえ、モジュール依存です(おそらく "同じアプリのちょうど分離された部分"と呼んでいます) –
最初に垣間見ることは、ライブラリモジュールを作成し、 'mod1'、' mod2'、 'mod3'をそれ。あなたはただ一つの文字列を共有したいと考えているので、残念です。 –