Widziałem, że chciałbym wprowadzić swój kontekst do moich klas Utility przykłady za pomocą pól statycznych, czy są jakieś sposoby, aby to zrobić bez pól statycznych?
Odpowiedzi:
7 dla odpowiedzi № 1Zwykle używam Dostawca wstrzyknąć kontekst, kiedy go potrzebuję.
public class MyClass
{
private Provider<Context> contextProvider;
@Inject
public MyClass(Provider<Context> contextProvider)
{
this.contextProvider = contextProvider;
}
public doSomething()
{
Context c = contextProvider.get();
}
}
1 dla odpowiedzi nr 2
Możesz to zrobić na kilka sposobów, przekazać kontekst do klasy Utility lub użyć lokalizatora usług lub zanotować klasę Utility @Inject
atrybut. Zobacz więcej szczegółów tutaj.