Skip to content

Instantly share code, notes, and snippets.

View larkintuckerllc's full-sized avatar

John Tucker larkintuckerllc

View GitHub Profile
@larkintuckerllc
larkintuckerllc / MainActivity.java
Created November 27, 2017 01:01
How-to Dagger 2 with Android: Part 1 - 1
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView dateTextView = findViewById(R.id.tvDate);
MyExample myExample = MyExample.getInstance();
dateTextView.setText((new Date(myExample.getDate())).toString());
}
...
@larkintuckerllc
larkintuckerllc / build.gradle
Created November 27, 2017 01:03
How-to Dagger 2 with Android: Part 1 - 2
...
dependencies {
...
compile 'com.google.dagger:dagger:2.13'
annotationProcessor 'com.google.dagger:dagger-compiler:2.13'
}
@larkintuckerllc
larkintuckerllc / activity_main.xml
Created November 27, 2017 01:04
How-to Dagger 2 with Android: Part 1 - 3
...
<TextView
android:id="@+id/tvDate"
android:layout_width="wrap_content"
...
@larkintuckerllc
larkintuckerllc / MainActivity.java
Created November 27, 2017 01:05
How-to Dagger 2 with Android: Part 1 - 4
...
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView dateTextView = findViewById(R.id.tvDate);
...
@larkintuckerllc
larkintuckerllc / MyExample.java
Created November 27, 2017 01:07
How-to Dagger 2 with Android: Part 1 - 5
package com.larkintuckerllc.dagger;
interface MyExample {
long getDate();
}
@larkintuckerllc
larkintuckerllc / MyExampleImpl.java
Last active November 27, 2017 01:22
How-to Dagger 2 with Android: Part 1 - 6
package com.larkintuckerllc.dagger;
import java.util.Date;
class MyExampleImpl implements MyExample {
private long mDate;
MyExampleImpl() {
mDate = new Date().getTime();
@larkintuckerllc
larkintuckerllc / MyModule.java
Created November 27, 2017 01:09
How-to Dagger 2 with Android: Part 1 - 7
package com.larkintuckerllc.dagger;
import javax.inject.Singleton;
import dagger.Module;
import dagger.Provides;
@Module
class MyModule {
@Provides
@larkintuckerllc
larkintuckerllc / MyComponent.java
Created November 27, 2017 01:10
How-to Dagger 2 with Android: Part 1 - 8
package com.larkintuckerllc.dagger;
import javax.inject.Singleton;
import dagger.Component;
@Singleton
@Component(modules = MyModule.class)
interface MyComponent {
void inject(MainActivity mainActivity);
@larkintuckerllc
larkintuckerllc / AndroidManifest.xml
Created November 27, 2017 01:11
How-to Dagger 2 with Android: Part 1 - 9
...
<application
...
android:theme="@style/AppTheme"
android:name=".MyApplication"
...
@larkintuckerllc
larkintuckerllc / MyApplication.java
Created November 27, 2017 01:13
How-to Dagger 2 with Android: Part 1 - 10
import android.app.Application;
public class MyApplication extends Application {
private MyComponent mMyComponent;
@Override
public void onCreate() {
super.onCreate();
mMyComponent = createMyComponent();
}