Myslím, že vše, co potřebujete, je vytvořit Třídu aplikací
[1] Všechny ty proměnné, které jste převzali v Util a které se používají ve všech ostatních třídách, lze převzít v této třídě Application. Takže tyto proměnné budou dostupné všem ostatním třídám.
[2] Vytvořte Singeltonovu instanci Aplikační třídy . Jen o tom Google.
[3] Vytvořte také Singleton of DataBaseHelper (pokud je to možné a lze jej použít), takže vám jediná instance pomůže všude.
Application Class je globální třída v Androidu, takže ji můžete použít k ukládání a přístupu ke všem globálním datům. např. :
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;
}
}
JAK TO POUŽÍVAT, PODÍVEJTE SE NA TOTO
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...
}
}
Ještě jedna věc. V 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"
...
...