2015-07-10 1 views
0

hola mates У меня есть код здесь, но я не совсем понимаю, что это логика. это одноуровневый класс, который в конечном итоге будет содержать ArrayList преступлений. Я собираюсь найти учебники по синглтону, поэтому мне не нужно багать все ya, но я до сих пор не понимаю концепцию «контекста» в android, которая отбрасывает меня сейчас, например. .getApplicationContext() в одноэлементном классе через android?

public class CrimeLab 
{ 
private static CrimeLab sCrimeLab; 

private context mAppContext; 

private CrimeLab(Context mAppContext) 
{ 
this.mAppContext = mAppContext; 
} 

public static CrimeLab get(Context c) 
{ 
if(sCrimeLab == null){ 

sCrimeLab = new CrimeLab(C.getApplicationContext()); 

} 
return sCrimeLab; 
} 
} 

в активности я называю «mCrimes = CrimeLab.get (getActivity()) getCrimes(); который проведет преступления в спискеView для фрагмента, знаю, что я передаю текущую активность в класс SingleLight CrimeLab, но в чем же цель этого? это может быть неопределенный вопрос, особенно вне остальной части кода, но просто глядя на это, что вы все делаете?

+0

Я просто сделал @AndyTurner – Bryan

ответ

-1

Контекст - это «где вы находитесь» в приложении. Он используется для получения информации, специфичной для окружающей среды, и часто используется для предоставления информации, которая может потребоваться. В вашем случае это скорее действие, в котором выполняется этот код. Дополнительную информацию можно найти на странице справки Android http://developer.android.com/reference/android/content/Context.html

+0

, но почему именно я передаю активность в синглтон? – Bryan

+0

Я не могу сказать, если вы строго «нуждаетесь», чтобы передать его, но это не повредит. Таким образом, если какой-либо из фоновых процессов Android или библиотечных методов нуждается в доступе к какой-либо переменной среды, у них это есть. Не говоря уже о том, что позже вам нужен доступ к чему-то определенному для этой деятельности, он уже существует. – ozymandias