Tôi nghĩ rằng tất cả những gì bạn cần là tạo Lớp ứng dụng
[1] Tất cả các biến bạn đã sử dụng trong Util, được sử dụng trong tất cả các lớp khác, đều có thể được sử dụng trong lớp Ứng dụng này. Vì vậy, các biến này sẽ có sẵn cho tất cả các lớp khác.
[2] Tạo phiên bản Singelton của Lớp ứng dụng . Chỉ Google về nó.
[3] Đồng thời tạo Singleton của DataBaseHelper (nếu có thể và có thể áp dụng), vì vậy, một phiên bản duy nhất sẽ giúp bạn mọi lúc mọi nơi.
Lớp Ứng dụng là lớp Toàn cầu trong android, vì vậy bạn có thể sử dụng nó để lưu trữ và truy cập tất cả Dữ liệu toàn cầu. ví dụ. :
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;
}
}
CÁCH SỬ DỤNG NÓ, XEM NÀY
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...
}
}
Một điều nữa. Trong 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"
...
...