私は現在、次のような構造のAndroid Studioのモジュールを構築しています:アンドロイドモジュール - 変数を外部ではなくモジュール内でのみアクセス可能にするにはどうすればよいですか?
com.example.module
+--- .activity
+--- .adapter
+--- .fragment
+--- etc. package names
+--- .view
+--- InterfaceClass.java
私はInterfaceClass.javaは、モジュール自体へのアクセスのゲートウェイ」であるとするつもり。おおよそ次のように構成されます:
public class InterfaceClass
{
private static InterfaceClass instance;
private static AppCompatActivity starterAct;
public static int sDisplayWidth, sDisplayHeight;
public static InterfaceClass getInstance() {
if (instance == null) {
synchronized (InterfaceClass.class) {
if (instance == null) {
instance = new InterfaceClass();
}
}
}
return instance;
}
public void setup(AppCompatActivity starterAct) {
this.starterAct = starterAct;
this.updateScreenSize()
}
...
private void updateScreenSize() {
WindowManager wm = (WindowManager) this.starterAct.getSystemService(WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
sDisplayWidth = size.x;
sDisplayHeight = size.y;
}
}
私の意図だけcom.example.module
モジュールとそのすべてのパッケージの内側ではなく、モジュールの外部変数sDisplayWidth
とsDisplayHeight
がアクセスできるようにすることです。現在の設定では、私はちょうどInterfaceClass.sDisplayWidth
をどこからでも呼び出すことができるので、モジュールを使用するアプリケーションのアクティビティであっても、インスタンスのセットアップコードにのみ設定し、モジュール内でのみ使用できるようにします。
protected
修飾子は、モジュールのパッケージ内でアクセスできないため終了しないと思われます。
私の質問:モジュール内でのみ変数にアクセスできるようにするにはどうすればよいですか?
編集:明確にするために、変数がpackage-private
の代わりにmodule-private
になるようにします。
私は質問を誤解するかもしれませんが、変数をプライベートにする方法を尋ねていますか?もしあなたがそうであれば、パブリック修飾子を削除するだけです。 – Kuffs