Acho que tudo que você precisa é criar uma Classe de Aplicativo
[1] Todas essas variáveis que você pegou em Util, que são usadas em quase todas as outras classes, podem ser tomadas nesta classe de Aplicação. Portanto, essas variáveis estarão disponíveis para todas as outras classes.
[2] Crie uma instância Singelton da classe de aplicativo . Basta pesquisar no Google sobre isso.
[3] Também crie Singleton de DataBaseHelper (se possível e pode ser aplicado), portanto, uma única instância ajuda você em todos os lugares.
A classe do aplicativo é a classe global no android, então você pode usá-lo para armazenar e acessar todos os dados globais. por exemplo. :
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;
}
}
COMO USAR, VEJA ISTO
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...
}
}
Mais uma coisa. Em 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"
...
...