我已经开始使用Android Big Nerd Ranch指南学习android。 清单9.1建立单(CrimeLab.java)Singleton和Context
public class CrimeLab {
private static CrimeLab sCrimeLab;
private Context mAppContext;
private CrimeLab(Context appContext) {
mAppContext = appContext;
}
public static CrimeLab get(Context c) {
if (sCrimeLab == null) {
sCrimeLab = new CrimeLab(c.getApplicationContext());
}
return sCrimeLab;
}
}
项目 - 我们正在创造犯罪对象的名单,我们使用这个类来存储列表。
我很难理解代码9.1中提供的Singleton类的需求。为什么我们首先需要这门课?为什么需要一个上下文变量,它有什么作用?
我搜索谷歌,发现上下文用于通知应用程序的其他部分正在发生什么。但是,我没有完全知道我们通知CrimeLab的是什么?我们可以创建没有单身课程的犯罪实验室吗?如果是,为什么我们将crimeLab用作单身课程?
哦防止创建对象!我们需要上下文来告诉应用程序发生了什么,以便所有数据都能很好地集中在一个地方。我对吗?非常感谢你 –
不,我们只需要在这里的上下文,如果我们*需要*其信息CrimeLab对象。否则,您可以删除它,因为它本身就是一个参数。数据在一个地方是因为单例实现(一个静态属性): private static CrimeLab sCrimeLab; –