Penso che tutto ciò che ti serve sia creare un Classe di applicazione
[1] Tutte quelle variabili che hai preso in Util, che sono usate in quasi tutte le altre classi, possono essere prese in questa classe Application. Quindi queste variabili saranno disponibili per tutte le altre classi.
[2] Crea un'istanza Singelton di Classe di applicazione . Basta Google per questo.
[3] Crea anche Singleton di DataBaseHelper (se possibile e può essere applicato), quindi la singola istanza ti aiuta ovunque.
La classe dell'applicazione è una classe globale in Android, quindi puoi usarla per archiviare e accedere a tutti i dati globali. per esempio. :
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;
}
}
COME USARLO, GUARDA QUESTO
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...
}
}
Un'altra cosa. 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"
...
...