Je pense que tout ce dont vous avez besoin est de créer une classe d'application
[1] Toutes ces variables que vous avez prises dans Util, qui sont utilisées dans à peu près toutes les autres classes, peuvent être prises dans cette classe Application. Ces variables seront donc disponibles pour toutes les autres classes.
[2] Créer une instance Singelton de la classe d'application . Juste Google à ce sujet.
[3] Créez également Singleton de DataBaseHelper (si possible et peut s'appliquer), ainsi, une seule instance vous aide partout.
La classe d'application est une classe globale dans Android, vous pouvez donc l'utiliser pour stocker et accéder à toutes les données globales. par exemple. :
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;
}
}
COMMENT L'UTILISER, VOIR CECI
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...
}
}
Une chose de plus. Dans 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"
...
...