Ich denke, alles, was Sie brauchen, ist, Anwendungsklasse zu erstellen
[1] Alle diese Variablen, die Sie in Util übernommen haben und die in fast allen anderen Klassen verwendet werden, können in diese Anwendungsklasse übernommen werden. Diese Variablen stehen also allen anderen Klassen zur Verfügung.
[2] Erstellen Sie eine Singleton-Instanz der Anwendungsklasse . Google einfach danach.
[3] Erstellen Sie auch Singleton von DataBaseHelper (wenn möglich und anwendbar), damit Ihnen eine einzelne Instanz überall hilft.
Die Anwendungsklasse ist eine globale Klasse in Android, sodass Sie sie zum Speichern und Zugreifen auf alle globalen Daten verwenden können. z.B. :
public class AppData extends Application {
public static AppData appData;
public int currentUserId; // etc.
//Const.
public AppData() {
appData = this;
}
@Override
public void onCreate() {
super.onCreate();
loginPreferences = getSharedPreferences(
SPF_NAME, 0);
pathToSDCard = Environment.getExternalStorageDirectory().getAbsolutePath();
System.out.println("Path : " + pathToSDCard);
//etc.
}
// MOST IMP FOR GETTIN SINGELTON INSTANCE <<<---<<<---<<<---
public static AppData getAppData() {
return appData;
}
}
WIE MAN ES BENUTZT, SEHEN SIE HIER
class ABC extends Activity {
AppData appData;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.xyz);
appData = AppData.getAppData();
...........
...........
appData.VARIABLE_NAME...
}
}
Eins noch. In AndroidMenifest.xml
...
...
<application // In Application Tag
android:name="PACKAGE_NAME.AppData" // << Add here class name in which you have extended Application
android:icon="@drawable/ic_launcher"
...
...