Ich bin ein Android-Studio-Modul zur Zeit im Aufbau wie folgt strukturiert:android modules - Wie mache ich eine Variable nur innerhalb des Moduls zugänglich und nicht außerhalb?
com.example.module
+--- .activity
+--- .adapter
+--- .fragment
+--- etc. package names
+--- .view
+--- InterfaceClass.java
ich die InterfaceClass.java machen will das ‚Tor des Zugangs‘ zu sein in das Modul selbst. Es ist ungefähr so strukturiert:
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;
}
}
Meine Absicht ist es, die Variablen sDisplayWidth
und sDisplayHeight
zugänglich nur innerhalb des com.example.module
Modul und alle Pakete, die nicht außerhalb des Moduls zu machen. Weil ich mit dem aktuellen Setup einfach InterfaceClass.sDisplayWidth
von überall aufrufen oder einstellen kann, sogar in der Aktivität der App, die das Modul verwendet, und ich möchte, dass es nur im Setup-Code der Instanz eingerichtet wird und nur innerhalb des Moduls verwendbar ist.
Ich glaube nicht, dass der Modifikator protected
entweder funktioniert, weil es nicht innerhalb der Pakete des Moduls zugänglich ist.
Meine Frage: Wie genau mache ich die Variable nur innerhalb des Moduls zugänglich?
EDIT: Um zu klären, anstelle der Variablen package-private
, ich möchte es module-private
sein.
Ich könnte die Frage missverstehen, aber fragen Sie, wie man ein variables Paket-privat macht? Wenn dies der Fall ist, entfernen Sie einfach den öffentlichen Modifikator. – Kuffs