hilt使用笔记

1.gradle 7.0使用

 2.每个使用的module下

plugins {
    id 'com.android.application'
    id 'dagger.hilt.android.plugin'
}
dependencies {
    //项目单独引用
    implementation (libs.dagger)
    annotationProcessor (libs.daggerCompiler)//kapt
}

3.@HiltAndroidApp加在Baseapplication class上

改到 app  module下application

 

 4.简单使用

@AndroidEntryPoint
public class MainActivity extends AppCompatActivity {
    @Inject
    User user;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        user.getInfo().setName("test");
        user.getInfo().setAge(10);
    }
}
public class User {
    Info info;
    @Inject
    public User(Info info) {
        this.info = info;
    }

    public Info getInfo() {
        return info;
    }

    public void setInfo(Info info) {
        this.info = info;
    }
}
public class Info {
    private String name;
    private int age;

    @Inject
    public Info() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

5.

posted @ 2022-07-05 11:41  西瓜皮不甜  阅读(70)  评论(0编辑  收藏  举报