对于我的 Android 应用程序,我编写了一个由应用程序中各种活动所需的实用程序函数组成的类。在这个类中,我需要一个上下文变量(用于处理文件)以及一个首选项管理器和首选项编辑器的实例.此外,需要一个长整数来表示当前日期作为时间戳:
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();
}
一种方法是在使用它的每个活动中创建此类的一个实例,但我不想这样做。还有其他方法吗?