Skip to content

Instantly share code, notes, and snippets.

View hsmnzaydn's full-sized avatar
🎈
Working from home

Hüseyin Serkan Özaydin hsmnzaydn

🎈
Working from home
View GitHub Profile
implementation 'com.google.dagger:dagger:2.10'
annotationProcessor 'com.google.dagger:dagger-compiler:2.10'
public class Inek {
@Inject
public Inek(){
}
public void otla() {
Log.d("Otlatma Bilgisi","Inek otluyor");
}
public class Koyun {
@Inject
public Koyun(){
}
public void otla() {
Log.d("Otlatma Bilsidi","Koyun otluyor");
}
public class Ciftlik {
private Inek inek;
private Koyun koyun;
@Inject
public Ciftlik(Inek inek, Koyun koyun) {
this.inek = inek;
this.koyun = koyun;
}
@Module
public class CiftlikModule {
private Context context;
public CiftlikModule(Application app){
this.context=app;
}
@Provides
@Singleton
@Component(modules = {CiftlikModule.class})
public interface CiftlikComponent {
void inject(MainActivity activity);
}
public class MvpApp extends Application {
private CiftlikComponent ciftlikComponent;
public CiftlikComponent getCiftlikComponent() {
return ciftlikComponent;
}
public void setCiftlikComponent(CiftlikComponent ciftlikComponent) {
this.ciftlikComponent = ciftlikComponent;
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.ozaydin.serkan.daggerexample">
<application
android:name=".MvpApp"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
public class MainActivity extends AppCompatActivity {
@Inject
Ciftlik ciftlik;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
public class MainActivity extends AppCompatActivity {
@Inject
Ciftlik ciftlik;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
((MvpApp) getApplication()).getCiftlikComponent().inject(MainActivity.this);