先上一个没有用Dragg2的例子:
eg;
1 public class User {
2 private String name;
3
4 public String getName() {
5 return name;
6 }
7
8 public void setName(String name) {
9 this.name = name;
10 }
11 }
private void initData() {
2
3 User user = new User();
4
5 user.setName(“测试”);
6 }
使用Drag2步骤
- classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’
- apply plugin: ‘com.neenbedankt.android-apt’
3 compile ‘com.google.dagger:dagger:2.0.2’
apt ‘com.google.dagger:dagger-compiler:2.0.2’
compile ‘org.glassfish:javax.annotation:10.0-b28’
4
package com.example.administrator.myplayerdemo.test;
import javax.inject.Inject;
import dagger.Module;
/**
* Created by Administrator on 2017/3/10 0010.
*/
@Module
public class Student {
private int age;
public Student(int age, String name) {
this.age= age;
Name = name;
}
@Inject
public Student() {
}
private String Name;
public void SetName(String Name){
this.Name=Name;
}
public void SetAge(int age){
this.age=age;
}
public String getName(){
return this.Name;
}
public int getAge(){
return this.age;
}
}
package com.example.administrator.myplayerdemo.test;
import android.app.Activity;
import com.example.administrator.myplayerdemo.activitys.MainListAct;
import javax.inject.Singleton;
import dagger.Component;
/**
* Created by Administrator on 2017/3/10 0010.
*/
@Component
public interface ActivityComponent {
void inject(MainListAct MainListAct);//在哪个要用的界面绑定那个
}
@Inject
Student test;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DaggerActivityComponent.builder().build().inject(this);
test.SetName(“haihang”);
test.SetAge(20);
Log.i(“gsc”,test.getName());
}