dependencies {
implementation 'com.google.dagger:hilt-android:2.38.1'
kapt 'com.google.dagger:hilt-android-compiler:2.38.1'
}
public class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
// Getters and setters
}
@Module
public class UserModule {
@Provides
public User provideUser() {
return new User("John Doe", 30);
}
}
public class UserManager {
@Inject
User user;
public void printUserDetails() {
System.out.println("Name: " + user.getName());
System.out.println("Age: " + user.getAge());
}
}
@Component(modules = UserModule.class)
@Singleton
public interface UserManagerComponent {
UserManager getUserManager();
}
@HiltAndroidApp
public class Main extends Application {
@Inject
UserManagerComponent userManagerComponent;
@Override
public void onCreate() {
super.onCreate();
printUserDetails();
}
private void printUserDetails() {
UserManager userManager = userManagerComponent.getUserManager();
userManager.printUserDetails();
}
}