Как добавить контекст, используя RoboGuice в Android? - PullRequest
3 голосов
/ 02 сентября 2011

Я хотел бы внедрить свой контекст в мои классы Utility, я видел примеров с использованием статических полей. Есть ли способы сделать это без статических полей?

Ответы [ 2 ]

7 голосов
/ 27 сентября 2011

Я склонен использовать поставщика для внедрения контекста, когда мне это нужно.

public class MyClass
{
    private Provider<Context> contextProvider;

    @Inject
    public MyClass(Provider<Context> contextProvider)
    {
        this.contextProvider = contextProvider;
    }

    public doSomething()
    {
        Context c = contextProvider.get();
    }
}
1 голос
/ 03 сентября 2011

Вы можете сделать это несколькими способами, передать контекст в класс Utility или использовать сервисный локатор или аннотировать класс утилит с атрибутом @Inject. Подробнее здесь .

...