Мисля, че всичко, от което се нуждаете, е да създадете клас за приложение
[1] Всички тези променливи, които сте взели в Util, които се използват в почти всички други класове, могат да бъдат взети в този клас Application. Така че тези променливи ще бъдат достъпни за всички останали класове.
[2] Създайте екземпляр на Singelton на клас на приложение . Само Google за това.
[3] Също така създайте Singleton на DataBaseHelper (ако е възможно и може да се приложи), така че единичният екземпляр ви помага навсякъде.
Класът на приложението е глобален клас в android, така че можете да го използвате за съхраняване и достъп до всички глобални данни. напр. :
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;
}
}
КАК ДА ГО ИЗПОЛЗВАТЕ, ВИЖТЕ ТОВА
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...
}
}
Още нещо. В 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"
...
...