Ik denk dat je alleen maar Applicatieklasse moet maken
[1] Al die variabelen die je in Util hebt genomen en die in ongeveer alle andere klassen worden gebruikt, kunnen in deze Application-klasse worden genomen. Deze variabelen zijn dus beschikbaar voor alle andere klassen.
[2] Maak een Singelton-instantie van Applicatieklasse . Google er maar eens over.
[3] Maak ook Singleton of DataBaseHelper (indien mogelijk en kan van toepassing zijn), dus een enkele instantie helpt u overal.
Application Class is Global-klasse in Android, dus je kunt het gebruiken om alle Global-Data op te slaan en te openen. bijv. :
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;
}
}
HOE HET GEBRUIKEN, ZIE DIT
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...
}
}
Nog één ding. 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"
...
...