This is a sample app that uses Android Architecture Components with Kotlin and Dagger 2.
Clone or download
Latest commit 9d68ff1 Apr 17, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea Rm .idea/ files. Jan 17, 2018
app Update libaries. Apr 18, 2018
gradle/wrapper Update libaries. Apr 18, 2018
.gitignore Update .gitignore Jan 17, 2018
README.md Update README.md Apr 18, 2018
build.gradle Update libaries. Apr 18, 2018
gradle.properties init commit Jun 8, 2017
gradlew init commit Jun 8, 2017
gradlew.bat init commit Jun 8, 2017
settings.gradle init commit Jun 8, 2017

README.md

kotlin-architecture-components

This is a sample app that uses Android Architecture Components with Kotlin and Dagger 2.

Architecture Components

Architecture Components version is 1.1.*

Kotlin

Kotlin version is 1.2.*

Dagger2

Dagger version is 2.15.*

Using dagger.android.

Other Libraries

Tips

Multibinding

To use Multibinding for ViewModel's injection like this, use @JvmSuppressWildcards for inject creators.

class ViewModelFactory @Inject
constructor(private val creators: Map<Class<out ViewModel>, @JvmSuppressWildcards Provider<ViewModel>>)
    : ViewModelProvider.Factory {

Here is all code.

DataBinding

To use DataBinding with Kotlin, use com.android.databinding:compiler like below.

dependencies {
    kapt 'com.android.databinding:compiler:3.0.0'
}

Thanks

License

Copyright 2017 Satoru Fujiwara

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.