Dragger2的使用

      最近在网上找了一些开源项目,都是高科技:

 mvp+dragger2+okhttp+retrofit+gilde+greendao看来必须把这些东西学一下


 Dragger2使用方式:

     1. 项目下拷贝插件
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'  
      
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'  //添加apt插件
      
    }
}




  2. module下拷贝插件


//添加如下代码,应用apt插件
apply plugin: 'com.neenbedankt.android-apt'




dependencies {
 
    // dragger2依赖库
    compile 'com.google.dagger:dagger:2.4'
    apt 'com.google.dagger:dagger-compiler:2.4'
    //java注解
    compile 'org.glassfish:javax.annotation:10.0-b28'


}


  3. 
@Module    //IOC容器
public class MarkCarModule {


    public MarkCarModule(){ } 




    @Provides     //  对象已经实例化放入ioc容器
    Engine provideEngine(){ 
        return new Engine();
    }


}


4. @component 把 module中的bean放入到需要注入的bean中的类中
  @Component(modules = {MarkCarModule.class})
public interface CarComponent {
    void inject(Car car);


}




 5. 依赖Bean中注入:
public class Car {


    @Inject
    Engine engine;


    public Car() {
      
    }


    public Engine getEngine() {
        return this.engine;
    }
    public void say(){
        engine.run();
    }


}


6. Build项目


7. Car中添加注入代码:
  public Car() {
        DaggerCarComponent.builder()
                .markCarModule(new MarkCarModule())
                .build().inject(this);
    }


8. MainActivity调用Car

--------------------------------------------------------

  dragger2的使用:


--------------------------------------------------------------

 http://www.open-open.com/lib/view/open1482201981550.html:博文



你可能感兴趣的:(Android开发)