Dragger2 学习笔记

如果想学习Dragger2,请参考 http://blog.csdn.net/duo2005duo/article/details/50618171

/**
 * Created by  Quentin on  2016/7/26 15:16 
 * 实体类
 **/
public class User {
    String name;
    String age;
}
/**
 * Created by  Quentin on  2016/7/26 15:16 
 * Module 
 **/
@Module
public class FruitModule {

    @Singleton  //单例模式,不需要重复创建
    @Provides
    User provideUser(){
        return new User(); //创建一个对象
    }
}
/**
 * Created by  Quentin on  2016/7/26 15:17
 * Component
 **/
@Singleton
@Component(modules = FruitModule.class)
public interface ApiComponent  {
    void inject(MainActivity mainActivity); //注入那个类,MainActivity类
}
/**
 * Created by  Quentin on  2016/7/26 09:48
 *  DaggerApiComponent 该类需要build一次才会通过apt自动生成的
 **/
public class MainActivity extends Activity {

    private static final String TAG ="MainActivity" ;
    @Inject User user; //进行注入操作

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ApiComponent daggerApiComponent = DaggerApiComponent.create();//可以放在baseactivity里面进行操作
        daggerApiComponent.inject(this); //必须执行这句话,否则注入对象失败
        user.name="Quentin";
        Log.e(TAG,"UserName :"+user.name);
        //最后console 会输入 Quentin 说明这个简单的demo运行成功
    }


}

猜你喜欢

转载自blog.csdn.net/chameleon_zhao/article/details/52036716