Myślę, że wszystko, czego potrzebujesz, to utworzenie klasy aplikacji
[1] Wszystkie te zmienne, które wziąłeś w Util, które są używane we wszystkich innych klasach, mogą być wzięte w tej klasie Application. Dlatego te zmienne będą dostępne dla wszystkich innych klas.
[2] Utwórz instancję Singelton klasy aplikacji . Po prostu Google o tym.
[3] Stwórz także Singleton of DataBaseHelper (jeśli to możliwe i można zastosować), więc pojedyncza instancja pomoże ci wszędzie.
Klasa aplikacji to klasa globalna w Androidzie, dzięki czemu można jej używać do przechowywania i uzyskiwania dostępu do wszystkich danych globalnych. np. :
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 UŻYWAĆ, ZOBACZ TO
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...
}
}
Jeszcze jedno. W 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"
...
...