2

Android アプリに短剣を含めたい。ServiceConnectorインターフェイスを実装するFakeServiceConnectorNetServiceConnectorの 2 つのクラスがあります。

だから私は自分の活動にコードを入れました

@Inject
ServiceConnector serviceConnector;

Abd 依存関係を解決するためのプロバイダーを作成します

@Module
public class ServiceConnectorProvider {

 @Provides
 @Singleton
 public ServiceConnector provideServiceConnector()
 {
    return new FakeServiceConnector();
 }
}

しかし、ボタンを押すとserviceConnectorはnullです。だから私の質問は:

1) 私は自分のライブラリに dagger-1.1.0.jar と java.inject.jar のみを含めています。適切なダガーのインストールには十分ですか?

2) Android の作成など、短剣用に書いたよりも多くのコードを書く必要がありますか?

4

1 に答える 1

4

はい、それを機能させるには、さらにコードを記述する必要があります。

最初に、注入するクラスをモジュールで指定する必要があります。

@Module(
    injects = YourClass.class
)

注射をしなければならない後:

ObjectGraph objectGraph = ObjectGraph.create(new ServiceConnectorProvider());
YourClass yourClassObject = objectGraph.get(YourClass.class);

また:

ObjectGraph objectGraph = ObjectGraph.create(new ServiceConnectorProvider());
YourClass yourClassObject = new YourClass(...);
objectGraph.inject(yourClassObject);

基本的な例については、こちらまたはこちらを参照するか、 GitHubで検索してください。

于 2013-09-10T06:38:06.280 に答える