對於我的Android應用程序,我編寫了一個由應用程序中各種活動所需的實用函數組成的類。在這個類中,我需要一個上下文變量(for用文件)和偏好經理和偏好editor.Also,一個長整型,因爲需要一個時間戳represnting當前日期的實例工作:在一類實用函數中初始化靜態變量
private static long today;
private static Context myContext;
private static SharedPreferences sharedPrefs;
private static Editor editor;
這是初始化這些變量正確的方法。我試圖通過如下所示的私人構造函數來做到這一點,但我越來越錯誤。
private NetworkController()
{
//Getting the Unix timestamp for today
GregorianCalendar aDate = new GregorianCalendar();
GregorianCalendar tDate = new
GregorianCalendar(aDate.get(Calendar.YEAR),aDate.get(Calendar.MONTH),
aDate.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
today = (tDate.getTimeInMillis())/1000;
//The preferences manager for reading in the preferences
sharedPrefs = PreferenceManager.getDefaultSharedPreferences(myContext);
//The preferences editor for modifying the preferences values
editor = sharedPrefs.edit();
}
一種方法是創建它的地方使用這個類在每一個活動的一個實例,但我不知道,不想做that.Any另一種方法是可能的嗎?
你究竟在犯什麼錯誤?你是否熟悉單身人士的想法? –
我收到了有關sharedPrefs和editor的空指針異常。我不熟悉這個概念,這就是爲什麼我問:) – user1107888
只是一個提示:小心你使用Context作爲靜態變量。這很容易造成內存泄漏。確保當您切換到新的上下文時它被清零或取消引用。 – Codeman