diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a4d8c37..eb0e75c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,7 +9,7 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> - + diff --git a/app/src/main/java/jackall/devrealm/MainActivity.kt b/app/src/main/java/jackall/devrealm/MainActivity.kt deleted file mode 100644 index 639f342..0000000 --- a/app/src/main/java/jackall/devrealm/MainActivity.kt +++ /dev/null @@ -1,12 +0,0 @@ -package jackall.devrealm - -import android.support.v7.app.AppCompatActivity -import android.os.Bundle - -class MainActivity : AppCompatActivity() { - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContentView(R.layout.activity_main) - } -} diff --git a/app/src/main/java/jackall/devrealm/activity/MainActivity.kt b/app/src/main/java/jackall/devrealm/activity/MainActivity.kt new file mode 100644 index 0000000..62eca4d --- /dev/null +++ b/app/src/main/java/jackall/devrealm/activity/MainActivity.kt @@ -0,0 +1,21 @@ +package jackall.devrealm.activity + +import android.arch.lifecycle.ViewModelProviders +import android.databinding.DataBindingUtil +import android.os.Bundle +import android.support.v7.app.AppCompatActivity +import jackall.devrealm.R +import jackall.devrealm.databinding.ActivityMainBinding +import jackall.devrealm.viewmodel.MainViewModel + +class MainActivity : AppCompatActivity() { + + val binding by lazy { DataBindingUtil.setContentView(this, R.layout.activity_main) } + val mainViewModel by lazy { ViewModelProviders.of(this, MainViewModel.Factory()).get(MainViewModel::class.java) } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding.mainViewModel = mainViewModel + lifecycle.addObserver(mainViewModel) + } +} diff --git a/app/src/main/java/jackall/devrealm/viewmodel/LifecycleViewModel.kt b/app/src/main/java/jackall/devrealm/viewmodel/LifecycleViewModel.kt new file mode 100644 index 0000000..146aa21 --- /dev/null +++ b/app/src/main/java/jackall/devrealm/viewmodel/LifecycleViewModel.kt @@ -0,0 +1,35 @@ +package jackall.devrealm.viewmodel + +import android.arch.lifecycle.Lifecycle +import android.arch.lifecycle.LifecycleObserver +import android.arch.lifecycle.OnLifecycleEvent +import android.arch.lifecycle.ViewModel + +/** + * Created by matsumoto_k on 2017/11/08. + */ +open class LifecycleViewModel : ViewModel(), LifecycleObserver { + @OnLifecycleEvent(Lifecycle.Event.ON_CREATE) + open fun onCreate() { + } + + @OnLifecycleEvent(Lifecycle.Event.ON_START) + open fun onStart() { + } + + @OnLifecycleEvent(Lifecycle.Event.ON_RESUME) + open fun onResume() { + } + + @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE) + open fun onPause() { + } + + @OnLifecycleEvent(Lifecycle.Event.ON_STOP) + open fun onStop() { + } + + @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY) + open fun onDestroy() { + } +} \ No newline at end of file diff --git a/app/src/main/java/jackall/devrealm/viewmodel/MainViewModel.kt b/app/src/main/java/jackall/devrealm/viewmodel/MainViewModel.kt new file mode 100644 index 0000000..052c44c --- /dev/null +++ b/app/src/main/java/jackall/devrealm/viewmodel/MainViewModel.kt @@ -0,0 +1,20 @@ +package jackall.devrealm.viewmodel + +import android.arch.lifecycle.ViewModel +import android.arch.lifecycle.ViewModelProvider + +/** + * Created by matsumoto_k on 2017/11/08. + */ +class MainViewModel : LifecycleViewModel() { + + override fun onCreate() { + super.onCreate() + } + + class Factory() : ViewModelProvider.NewInstanceFactory() { + override fun create(modelClass: Class): T { + return MainViewModel() as T + } + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 2a47332..f73b06c 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,18 +1,19 @@ - + tools:context="jackall.devrealm.activity.MainActivity"> - + - + + + + + + + + \ No newline at end of file