Jag tror att allt du behöver är att skapa Ansökningsklass
[1] Alla de variabler du har tagit i Util, som används i ungefär alla andra klasser, kan tas i den här applikationsklassen. Så dessa variabler kommer att vara tillgängliga för alla andra klasser.
[2] Skapa Singelton-instans av applikationsklassen . Googla bara om det.
[3] Skapa också Singleton of DataBaseHelper (om möjligt och kan tillämpas), så enstaka instans hjälper dig överallt.
Application Class är global klass i Android, så du kan använda den för att lagra och komma åt all Global-Data. t.ex. :
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;
}
}
HUR DU ANVÄNDER DET, SE DETTA
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...
}
}
En sak till. I 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"
...
...