├── .gitignore ├── DatabindingEx ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── databindingex │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── databindingex │ │ │ │ ├── MainActivity.kt │ │ │ │ └── Person.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values-night │ │ │ └── themes.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── databindingex │ │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── GalleryApp ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── galleryapp │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── galleryapp │ │ │ │ ├── GalleryApp.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── adapter │ │ │ │ ├── GalleryPhotoListAdapter.kt │ │ │ │ ├── GallerySinglePhotoListAdapter.kt │ │ │ │ ├── GridDividerDecoration.kt │ │ │ │ └── PhotoListAdapter.kt │ │ │ │ ├── extensions │ │ │ │ ├── FloatExtensions.kt │ │ │ │ └── ImageViewExtensions.kt │ │ │ │ └── gallery │ │ │ │ ├── GalleryActivity.kt │ │ │ │ ├── GalleryPhoto.kt │ │ │ │ ├── GalleryPhotoRepository.kt │ │ │ │ ├── GalleryState.kt │ │ │ │ ├── GalleryViewModel.kt │ │ │ │ └── SingleImageGalleryActivity.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ ├── bg_frame_gallery.xml │ │ │ ├── bg_round_corner_8_black.xml │ │ │ ├── ic_check_disabled.xml │ │ │ ├── ic_check_enabled.xml │ │ │ ├── ic_close.xml │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ ├── activity_gallery.xml │ │ │ ├── activity_main.xml │ │ │ ├── activity_single_image_gallery.xml │ │ │ ├── viewholder_gallery_photo_item.xml │ │ │ └── viewholder_photo_item.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── galleryapp │ │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── LICENSE ├── LiveDataDataBinding ├── app │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── keepseung │ │ │ └── livedatadatabinding │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── keepseung │ │ │ │ └── livedatadatabinding │ │ │ │ ├── MainActivity.kt │ │ │ │ └── MainActivityViewModel.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── keepseung │ │ └── livedatadatabinding │ │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── LivedataEx ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── livedataex │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── livedataex │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── MainActivityViewModel.kt │ │ │ │ └── MainActivityViewModelFactory.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values-night │ │ │ └── themes.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── livedataex │ │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── LoadingAnimation ├── .gitignore ├── .idea │ ├── codeStyles │ │ └── Project.xml │ ├── compiler.xml │ ├── gradle.xml │ ├── jarRepositories.xml │ ├── misc.xml │ ├── runConfigurations.xml │ └── vcs.xml ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── co │ │ │ └── kr │ │ │ └── loadinganimation │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── co │ │ │ │ └── kr │ │ │ │ └── loadinganimation │ │ │ │ ├── LoadingAnimationListener.java │ │ │ │ ├── MainActivity.java │ │ │ │ └── ViewAnimationListener.java │ │ └── res │ │ │ ├── anim │ │ │ ├── fade_in.xml │ │ │ └── fade_out.xml │ │ │ ├── drawable-v24 │ │ │ ├── anim_loading.xml │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ ├── ic_launcher_background.xml │ │ │ ├── loading_a.png │ │ │ ├── loading_b.png │ │ │ ├── loading_c.png │ │ │ ├── loading_d.png │ │ │ ├── loading_e.png │ │ │ ├── loading_f.png │ │ │ ├── loading_g.png │ │ │ ├── loading_h.png │ │ │ ├── loading_i.png │ │ │ ├── loading_j.png │ │ │ ├── loading_k.png │ │ │ ├── loading_l.png │ │ │ └── loading_m.png │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ └── view_loading.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── co │ │ └── kr │ │ └── loadinganimation │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── NavFinal ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── keepseung │ │ │ └── navdemo │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── keepseung │ │ │ │ └── navdemo │ │ │ │ ├── EmailFragment.kt │ │ │ │ ├── HomeFragment.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── NameFragment.kt │ │ │ │ ├── TermsFragment.kt │ │ │ │ └── WelcomeFragment.kt │ │ └── res │ │ │ ├── anim │ │ │ ├── hyperspace_jump.xml │ │ │ ├── push_down_in.xml │ │ │ ├── push_down_out.xml │ │ │ ├── push_up_in.xml │ │ │ ├── push_up_out.xml │ │ │ ├── slide_in_left.xml │ │ │ ├── slide_in_right.xml │ │ │ ├── slide_out_left.xml │ │ │ └── slide_out_right.xml │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ ├── fragment_email.xml │ │ │ ├── fragment_home.xml │ │ │ ├── fragment_name.xml │ │ │ ├── fragment_terms.xml │ │ │ └── fragment_welcome.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── navigation │ │ │ └── nav_graph.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── keepseung │ │ └── navdemo │ │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── Notification ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── co │ │ │ └── kr │ │ │ └── notification │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── co │ │ │ │ └── kr │ │ │ │ └── notification │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── co │ │ └── kr │ │ └── notification │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── PermissionRequest ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── permissionrequest │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── permissionrequest │ │ │ │ └── MainActivity.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values-night │ │ │ └── themes.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── permissionrequest │ │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── README.md ├── RecoderApp ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── recoderapp │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── recoderapp │ │ │ │ └── MainActivity.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values-night │ │ │ └── themes.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── recoderapp │ │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── RecyclerViewDemo1 ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── keepseung │ │ │ └── recyclerviewdemo1 │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── keepseung │ │ │ │ └── recyclerviewdemo1 │ │ │ │ ├── Fruit.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ └── MyRecyclerViewAdapter.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ └── list_item.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values-night │ │ │ └── themes.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── keepseung │ │ └── recyclerviewdemo1 │ │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── RecyclerviewHeaderFooter ├── .gitignore ├── .idea │ ├── codeStyles │ │ └── Project.xml │ ├── compiler.xml │ ├── gradle.xml │ ├── jarRepositories.xml │ ├── misc.xml │ ├── runConfigurations.xml │ └── vcs.xml ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── co │ │ │ └── kr │ │ │ └── recyclerviewheaderfooter │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── co │ │ │ │ └── kr │ │ │ │ └── recyclerviewheaderfooter │ │ │ │ ├── MainActivity.java │ │ │ │ ├── Person.java │ │ │ │ └── RecyclerAdapter.java │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ ├── footer.xml │ │ │ ├── header.xml │ │ │ └── item.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── co │ │ └── kr │ │ └── recyclerviewheaderfooter │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── TwoWayBingingEx ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── twowaybinding │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── twowaybinding │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── MainActivityViewModel.kt │ │ │ │ └── MainActivityViewModelFactory.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values-night │ │ │ └── themes.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── twowaybinding │ │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── ViewModelDataBinding ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── keepseung │ │ │ └── viewmodeldatabinding │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── keepseung │ │ │ │ └── viewmodeldatabinding │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── MainActivityViewModel.kt │ │ │ │ └── MainActivityViewModelFactory.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values-night │ │ │ └── themes.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── keepseung │ │ └── viewmodeldatabinding │ │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── ViewModelDemo ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── viewmodeldemo │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── viewmodeldemo │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── MainActivityViewModel.kt │ │ │ │ └── MainActivityViewModelFactory.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values-night │ │ │ └── themes.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── viewmodeldemo │ │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── appupdate-check ├── .gitignore ├── .idea │ ├── .name │ ├── codeStyles │ │ └── Project.xml │ ├── gradle.xml │ ├── misc.xml │ └── runConfigurations.xml ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── appupdate_check │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── appupdate_check │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── appupdate_check │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── googlelogin ├── .gitignore ├── .idea │ └── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── googlelogin │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── googlelogin │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values-night │ │ │ └── themes.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── googlelogin │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── kakaologin ├── .gitignore ├── .idea │ └── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── kakaologin │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── kakaologin │ │ │ │ ├── GlobalApplication.java │ │ │ │ ├── MainActivity.java │ │ │ │ └── SessionCallback.java │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values-night │ │ │ └── themes.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── kakaologin │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── network-check ├── .gitignore ├── .idea │ ├── .name │ ├── codeStyles │ │ └── Project.xml │ ├── gradle.xml │ ├── misc.xml │ └── runConfigurations.xml ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── network_check │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── network_check │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── network_check │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── permission-check ├── .gitignore ├── .idea │ ├── .gitignore │ ├── .name │ ├── compiler.xml │ ├── gradle.xml │ ├── jarRepositories.xml │ ├── misc.xml │ └── vcs.xml ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── permission_check │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── permission_check │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values-night │ │ │ └── themes.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── permission_check │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── phoneNum ├── .gitignore ├── .idea │ ├── .gitignore │ ├── compiler.xml │ ├── gradle.xml │ ├── jarRepositories.xml │ ├── misc.xml │ └── vcs.xml ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── phonenum │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── phonenum │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values-night │ │ │ └── themes.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── phonenum │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── roundview ├── .gitignore ├── .idea │ ├── .name │ ├── codeStyles │ │ └── Project.xml │ ├── compiler.xml │ ├── gradle.xml │ ├── jarRepositories.xml │ ├── misc.xml │ ├── runConfigurations.xml │ └── vcs.xml ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── co │ │ │ └── kr │ │ │ └── roundview │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── co │ │ │ │ └── kr │ │ │ │ └── roundview │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ ├── ic_launcher_background.xml │ │ │ └── round.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── co │ │ └── kr │ │ └── roundview │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle └── timer ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── example │ │ └── timer │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── timer │ │ │ └── MainActivity.kt │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── drawable_tick_mark.xml │ │ ├── ic_launcher_background.xml │ │ └── ic_thumb.xml │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── raw │ │ ├── timer_bell.mp4 │ │ └── timer_ticking.mp4 │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ └── test │ └── java │ └── com │ └── example │ └── timer │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | */.gitignore 2 | .gradle 3 | .DS_Store 4 | 5 | # built application files 6 | *.apk 7 | *.ap_ 8 | 9 | # files for the dex VM 10 | *.dex 11 | 12 | # Java class files 13 | *.class 14 | 15 | # generated files 16 | bin/ 17 | out/ 18 | gen/ 19 | 20 | # Libraries used by the app 21 | # Can explicitly add if we want, but shouldn't do so blindly. Licenses, bloat, etc. 22 | /libs 23 | 24 | 25 | # Build stuff (auto-generated by android update project ...) 26 | build.xml 27 | ant.properties 28 | local.properties 29 | project.properties 30 | 31 | # Eclipse project files 32 | .classpath 33 | .project 34 | 35 | # idea project files 36 | .idea/ 37 | .idea/.name 38 | *.iml 39 | *.ipr 40 | *.iws 41 | 42 | ##Gradle-based build 43 | .gradle 44 | build/ 45 | -------------------------------------------------------------------------------- /DatabindingEx/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /DatabindingEx/app/src/main/java/com/example/databindingex/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.databindingex 2 | 3 | import androidx.appcompat.app.AppCompatActivity 4 | import android.os.Bundle 5 | import androidx.databinding.DataBindingUtil 6 | import com.example.databindingex.databinding.ActivityMainBinding 7 | 8 | class MainActivity : AppCompatActivity() { 9 | private lateinit var binding: ActivityMainBinding 10 | override fun onCreate(savedInstanceState: Bundle?) { 11 | super.onCreate(savedInstanceState) 12 | binding = DataBindingUtil.setContentView(this,R.layout.activity_main) 13 | binding.person = Person(1,"seung","seung@gmail.com") 14 | } 15 | } -------------------------------------------------------------------------------- /DatabindingEx/app/src/main/java/com/example/databindingex/Person.kt: -------------------------------------------------------------------------------- 1 | package com.example.databindingex 2 | 3 | data class Person ( 4 | var id:Int, 5 | var name:String, 6 | var email:String 7 | ) -------------------------------------------------------------------------------- /DatabindingEx/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /DatabindingEx/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /DatabindingEx/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/DatabindingEx/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /DatabindingEx/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/DatabindingEx/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /DatabindingEx/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/DatabindingEx/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /DatabindingEx/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/DatabindingEx/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /DatabindingEx/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/DatabindingEx/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /DatabindingEx/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/DatabindingEx/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /DatabindingEx/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/DatabindingEx/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /DatabindingEx/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/DatabindingEx/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /DatabindingEx/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/DatabindingEx/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /DatabindingEx/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/DatabindingEx/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /DatabindingEx/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /DatabindingEx/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | DatabindingEx 3 | -------------------------------------------------------------------------------- /DatabindingEx/app/src/test/java/com/example/databindingex/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.example.databindingex 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /DatabindingEx/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | ext.kotlin_version = "1.3.72" 4 | repositories { 5 | google() 6 | jcenter() 7 | } 8 | dependencies { 9 | classpath "com.android.tools.build:gradle:4.1.1" 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | 12 | // NOTE: Do not place your application dependencies here; they belong 13 | // in the individual module build.gradle files 14 | } 15 | } 16 | 17 | allprojects { 18 | repositories { 19 | google() 20 | jcenter() 21 | } 22 | } 23 | 24 | task clean(type: Delete) { 25 | delete rootProject.buildDir 26 | } -------------------------------------------------------------------------------- /DatabindingEx/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/DatabindingEx/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /DatabindingEx/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Jan 20 01:19:47 KST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 7 | -------------------------------------------------------------------------------- /DatabindingEx/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "DatabindingEx" -------------------------------------------------------------------------------- /GalleryApp/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /GalleryApp/app/src/main/java/com/example/galleryapp/GalleryApp.kt: -------------------------------------------------------------------------------- 1 | package com.example.galleryapp 2 | 3 | import android.app.Application 4 | import android.content.Context 5 | 6 | class GalleryApp:Application() { 7 | companion object { 8 | var appContext: Context? = null 9 | private set 10 | } 11 | 12 | override fun onCreate() { 13 | super.onCreate() 14 | appContext = applicationContext 15 | } 16 | 17 | override fun onTerminate() { 18 | super.onTerminate() 19 | appContext = null 20 | } 21 | } -------------------------------------------------------------------------------- /GalleryApp/app/src/main/java/com/example/galleryapp/extensions/FloatExtensions.kt: -------------------------------------------------------------------------------- 1 | package com.example.galleryapp.extensions 2 | 3 | import android.content.res.Resources 4 | 5 | internal fun Float.fromDpToPx(): Int { 6 | return (this * Resources.getSystem().displayMetrics.density).toInt() 7 | } -------------------------------------------------------------------------------- /GalleryApp/app/src/main/java/com/example/galleryapp/gallery/GalleryPhoto.kt: -------------------------------------------------------------------------------- 1 | package com.example.galleryapp.gallery 2 | 3 | import android.net.Uri 4 | 5 | data class GalleryPhoto( 6 | val id: Long, 7 | val uri: Uri, 8 | val name: String, 9 | val date: String, 10 | val size: Int, 11 | var isSelected: Boolean = false 12 | ) 13 | -------------------------------------------------------------------------------- /GalleryApp/app/src/main/java/com/example/galleryapp/gallery/GalleryState.kt: -------------------------------------------------------------------------------- 1 | package com.example.galleryapp.gallery 2 | 3 | import androidx.annotation.IdRes 4 | 5 | sealed class GalleryState { 6 | 7 | object Uninitialized: GalleryState() 8 | 9 | object Loading: GalleryState() 10 | 11 | data class Success( 12 | val photoList: List, 13 | @IdRes val toastId: Int? = null 14 | ): GalleryState() 15 | 16 | data class Confirm( 17 | val photoList: List 18 | ): GalleryState() 19 | 20 | } 21 | -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/drawable/bg_frame_gallery.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/drawable/bg_round_corner_8_black.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/drawable/ic_check_disabled.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/drawable/ic_check_enabled.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/drawable/ic_close.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/GalleryApp/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/GalleryApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/GalleryApp/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/GalleryApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/GalleryApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/GalleryApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/GalleryApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/GalleryApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/GalleryApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/GalleryApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | #cccccc 11 | #ececec 12 | #f27f35 13 | #3D000000 14 | -------------------------------------------------------------------------------- /GalleryApp/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 갤러리앱 3 | 확인 4 | -------------------------------------------------------------------------------- /GalleryApp/app/src/test/java/com/example/galleryapp/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.example.galleryapp 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /GalleryApp/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/GalleryApp/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /GalleryApp/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Oct 08 20:37:56 KST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /GalleryApp/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = "GalleryApp" 2 | include ':app' 3 | -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/main/java/com/keepseung/livedatadatabinding/MainActivityViewModel.kt: -------------------------------------------------------------------------------- 1 | package com.keepseung.livedatadatabinding 2 | 3 | import androidx.lifecycle.LiveData 4 | import androidx.lifecycle.MutableLiveData 5 | import androidx.lifecycle.ViewModel 6 | 7 | class MainActivityViewModel : ViewModel() { 8 | private var count = MutableLiveData() 9 | val countData : LiveData 10 | get() = count 11 | 12 | init { 13 | count.value = 0 14 | } 15 | 16 | fun updateCount(){ 17 | count.value = (count.value)?.plus(1) 18 | } 19 | } -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LiveDataDataBinding/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LiveDataDataBinding/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LiveDataDataBinding/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LiveDataDataBinding/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LiveDataDataBinding/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LiveDataDataBinding/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LiveDataDataBinding/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LiveDataDataBinding/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LiveDataDataBinding/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LiveDataDataBinding/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #008577 4 | #00574B 5 | #D81B60 6 | 7 | -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | LiveDataDatabinding 3 | 4 | -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /LiveDataDataBinding/app/src/test/java/com/keepseung/livedatadatabinding/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.keepseung.livedatadatabinding 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /LiveDataDataBinding/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LiveDataDataBinding/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /LiveDataDataBinding/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Nov 16 16:42:30 PST 2019 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip 7 | -------------------------------------------------------------------------------- /LiveDataDataBinding/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name='ViewModelDemo1' 3 | -------------------------------------------------------------------------------- /LivedataEx/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /LivedataEx/app/src/main/java/com/example/livedataex/MainActivityViewModel.kt: -------------------------------------------------------------------------------- 1 | package com.example.livedataex 2 | 3 | import androidx.lifecycle.LiveData 4 | import androidx.lifecycle.MutableLiveData 5 | import androidx.lifecycle.ViewModel 6 | 7 | class MainActivityViewModel(startingTotal: Int) :ViewModel() { 8 | // MutableLiveData를 은닉하기 9 | private var count = MutableLiveData() 10 | // 다른 클래스가 접근할 수 있는 데이터 11 | val countData : LiveData 12 | get() = count 13 | // 초기 값 설정하기 14 | init { 15 | count.value = startingTotal 16 | } 17 | 18 | // 덧셈 결과 값 수정하기 19 | fun getUpdatedCount(plusCount: Int){ 20 | count.value = (count.value)?.plus(plusCount) 21 | } 22 | } -------------------------------------------------------------------------------- /LivedataEx/app/src/main/java/com/example/livedataex/MainActivityViewModelFactory.kt: -------------------------------------------------------------------------------- 1 | package com.example.livedataex 2 | 3 | import androidx.lifecycle.ViewModel 4 | import androidx.lifecycle.ViewModelProvider 5 | import java.lang.IllegalArgumentException 6 | 7 | class MainActivityViewModelFactory(private val startingTotal: Int) : ViewModelProvider.Factory{ 8 | override fun create(modelClass: Class): T { 9 | if (modelClass.isAssignableFrom(MainActivityViewModel::class.java)){ 10 | return MainActivityViewModel(startingTotal) as T 11 | } 12 | throw IllegalArgumentException("Un") 13 | } 14 | } -------------------------------------------------------------------------------- /LivedataEx/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /LivedataEx/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /LivedataEx/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LivedataEx/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /LivedataEx/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LivedataEx/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LivedataEx/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LivedataEx/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /LivedataEx/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LivedataEx/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LivedataEx/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LivedataEx/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LivedataEx/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LivedataEx/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LivedataEx/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LivedataEx/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LivedataEx/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LivedataEx/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LivedataEx/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LivedataEx/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LivedataEx/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LivedataEx/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LivedataEx/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /LivedataEx/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | LiveDataEx 3 | -------------------------------------------------------------------------------- /LivedataEx/app/src/test/java/com/example/livedataex/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.example.livedataex 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /LivedataEx/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | ext.kotlin_version = "1.3.72" 4 | repositories { 5 | google() 6 | jcenter() 7 | } 8 | dependencies { 9 | classpath "com.android.tools.build:gradle:4.1.1" 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | 12 | // NOTE: Do not place your application dependencies here; they belong 13 | // in the individual module build.gradle files 14 | } 15 | } 16 | 17 | allprojects { 18 | repositories { 19 | google() 20 | jcenter() 21 | } 22 | } 23 | 24 | task clean(type: Delete) { 25 | delete rootProject.buildDir 26 | } -------------------------------------------------------------------------------- /LivedataEx/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LivedataEx/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /LivedataEx/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Jan 25 06:03:20 KST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 7 | -------------------------------------------------------------------------------- /LivedataEx/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "LiveDataEx" -------------------------------------------------------------------------------- /LoadingAnimation/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | -------------------------------------------------------------------------------- /LoadingAnimation/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /LoadingAnimation/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /LoadingAnimation/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /LoadingAnimation/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /LoadingAnimation/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/anim/fade_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/anim/fade_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/drawable/loading_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/drawable/loading_a.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/drawable/loading_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/drawable/loading_b.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/drawable/loading_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/drawable/loading_c.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/drawable/loading_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/drawable/loading_d.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/drawable/loading_e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/drawable/loading_e.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/drawable/loading_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/drawable/loading_f.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/drawable/loading_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/drawable/loading_g.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/drawable/loading_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/drawable/loading_h.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/drawable/loading_i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/drawable/loading_i.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/drawable/loading_j.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/drawable/loading_j.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/drawable/loading_k.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/drawable/loading_k.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/drawable/loading_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/drawable/loading_l.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/drawable/loading_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/drawable/loading_m.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/layout/view_loading.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 13 | -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #6200EE 4 | #3700B3 5 | #03DAC5 6 | #B3000000 7 | 8 | #80000000 9 | 10 | -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | LoadingAnimation 3 | -------------------------------------------------------------------------------- /LoadingAnimation/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /LoadingAnimation/app/src/test/java/co/kr/loadinganimation/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package co.kr.loadinganimation; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /LoadingAnimation/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | repositories { 4 | google() 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath "com.android.tools.build:gradle:4.0.1" 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | google() 18 | jcenter() 19 | } 20 | } 21 | 22 | task clean(type: Delete) { 23 | delete rootProject.buildDir 24 | } -------------------------------------------------------------------------------- /LoadingAnimation/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/LoadingAnimation/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /LoadingAnimation/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Aug 13 09:24:22 KST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip 7 | -------------------------------------------------------------------------------- /LoadingAnimation/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "LoadingAnimation" -------------------------------------------------------------------------------- /NavFinal/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /NavFinal/app/src/main/java/com/keepseung/navdemo/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.keepseung.navdemo 2 | 3 | import androidx.appcompat.app.AppCompatActivity 4 | import android.os.Bundle 5 | import androidx.databinding.DataBindingUtil 6 | import com.keepseung.navdemo.databinding.ActivityMainBinding 7 | 8 | class MainActivity : AppCompatActivity() { 9 | private lateinit var binding: ActivityMainBinding 10 | 11 | override fun onCreate(savedInstanceState: Bundle?) { 12 | super.onCreate(savedInstanceState) 13 | binding = DataBindingUtil.setContentView(this,R.layout.activity_main) 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /NavFinal/app/src/main/java/com/keepseung/navdemo/TermsFragment.kt: -------------------------------------------------------------------------------- 1 | package com.keepseung.navdemo 2 | 3 | 4 | import android.os.Bundle 5 | import androidx.fragment.app.Fragment 6 | import android.view.LayoutInflater 7 | import android.view.View 8 | import android.view.ViewGroup 9 | 10 | /** 11 | * A simple [Fragment] subclass. 12 | */ 13 | class TermsFragment : Fragment() { 14 | 15 | override fun onCreateView( 16 | inflater: LayoutInflater, container: ViewGroup?, 17 | savedInstanceState: Bundle? 18 | ): View? { 19 | // Inflate the layout for this fragment 20 | return inflater.inflate(R.layout.fragment_terms, container, false) 21 | } 22 | 23 | 24 | } 25 | -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/anim/push_down_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/anim/push_down_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/anim/push_up_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/anim/push_up_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/anim/slide_in_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/anim/slide_in_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/anim/slide_out_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/anim/slide_out_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/NavFinal/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/NavFinal/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/NavFinal/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/NavFinal/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/NavFinal/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/NavFinal/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/NavFinal/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/NavFinal/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/NavFinal/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/NavFinal/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #008577 4 | #00574B 5 | #D81B60 6 | 7 | -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | NavDemo5 3 | 4 | 5 | Hello blank fragment 6 | Terms and conditions 7 | 8 | -------------------------------------------------------------------------------- /NavFinal/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /NavFinal/app/src/test/java/com/keepseung/navdemo/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.keepseung.navdemo 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /NavFinal/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/NavFinal/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /NavFinal/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Feb 16 15:42:03 KST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 7 | -------------------------------------------------------------------------------- /NavFinal/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name='NavDemo5' 3 | -------------------------------------------------------------------------------- /Notification/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | /.idea/* 11 | .DS_Store 12 | /build 13 | /captures 14 | .externalNativeBuild 15 | .cxx 16 | -------------------------------------------------------------------------------- /Notification/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /Notification/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Notification/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Notification/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/Notification/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Notification/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/Notification/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Notification/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/Notification/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Notification/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/Notification/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Notification/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/Notification/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Notification/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/Notification/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Notification/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/Notification/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Notification/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/Notification/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Notification/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/Notification/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Notification/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/Notification/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Notification/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #6200EE 4 | #3700B3 5 | #03DAC5 6 | -------------------------------------------------------------------------------- /Notification/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Notification 3 | 알림이름 4 | channel_id 5 | channel_desc 6 | 7 | 알림 제목 8 | 알림 내용 9 | -------------------------------------------------------------------------------- /Notification/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /Notification/app/src/test/java/co/kr/notification/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package co.kr.notification; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /Notification/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | repositories { 4 | google() 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath "com.android.tools.build:gradle:4.0.1" 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | google() 18 | jcenter() 19 | } 20 | } 21 | 22 | task clean(type: Delete) { 23 | delete rootProject.buildDir 24 | } -------------------------------------------------------------------------------- /Notification/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/Notification/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Notification/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Aug 13 15:01:45 KST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip 7 | -------------------------------------------------------------------------------- /Notification/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "Notification" -------------------------------------------------------------------------------- /PermissionRequest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /PermissionRequest/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /PermissionRequest/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /PermissionRequest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/PermissionRequest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /PermissionRequest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/PermissionRequest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /PermissionRequest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/PermissionRequest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /PermissionRequest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/PermissionRequest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /PermissionRequest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/PermissionRequest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /PermissionRequest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/PermissionRequest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /PermissionRequest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/PermissionRequest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /PermissionRequest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/PermissionRequest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /PermissionRequest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/PermissionRequest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /PermissionRequest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/PermissionRequest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /PermissionRequest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /PermissionRequest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | PermissionRequest 3 | -------------------------------------------------------------------------------- /PermissionRequest/app/src/test/java/com/example/permissionrequest/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.example.permissionrequest 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /PermissionRequest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/PermissionRequest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /PermissionRequest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Sep 29 15:25:14 KST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /PermissionRequest/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = "PermissionRequest" 2 | include ':app' 3 | -------------------------------------------------------------------------------- /RecoderApp/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /RecoderApp/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /RecoderApp/app/src/main/java/com/example/recoderapp/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.recoderapp 2 | 3 | import androidx.appcompat.app.AppCompatActivity 4 | import android.os.Bundle 5 | 6 | class MainActivity : AppCompatActivity() { 7 | override fun onCreate(savedInstanceState: Bundle?) { 8 | super.onCreate(savedInstanceState) 9 | setContentView(R.layout.activity_main) 10 | } 11 | } -------------------------------------------------------------------------------- /RecoderApp/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | -------------------------------------------------------------------------------- /RecoderApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /RecoderApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /RecoderApp/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecoderApp/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecoderApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecoderApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /RecoderApp/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecoderApp/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecoderApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecoderApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /RecoderApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecoderApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecoderApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecoderApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /RecoderApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecoderApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecoderApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecoderApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /RecoderApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecoderApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecoderApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecoderApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /RecoderApp/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /RecoderApp/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | RecoderApp 3 | -------------------------------------------------------------------------------- /RecoderApp/app/src/test/java/com/example/recoderapp/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.example.recoderapp 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /RecoderApp/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecoderApp/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /RecoderApp/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Sep 29 16:42:27 KST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /RecoderApp/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = "RecoderApp" 2 | include ':app' 3 | -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/src/main/java/com/keepseung/recyclerviewdemo1/Fruit.kt: -------------------------------------------------------------------------------- 1 | package com.keepseung.recyclerviewdemo1 2 | 3 | data class Fruit(val name:String, val supplier:String) { 4 | } -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerViewDemo1/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerViewDemo1/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerViewDemo1/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerViewDemo1/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerViewDemo1/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerViewDemo1/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerViewDemo1/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerViewDemo1/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerViewDemo1/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerViewDemo1/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | RecyclerViewDemo1 3 | -------------------------------------------------------------------------------- /RecyclerViewDemo1/app/src/test/java/com/keepseung/recyclerviewdemo1/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.keepseung.recyclerviewdemo1 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /RecyclerViewDemo1/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | ext.kotlin_version = "1.3.72" 4 | repositories { 5 | google() 6 | jcenter() 7 | } 8 | dependencies { 9 | classpath "com.android.tools.build:gradle:4.1.1" 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | 12 | // NOTE: Do not place your application dependencies here; they belong 13 | // in the individual module build.gradle files 14 | } 15 | } 16 | 17 | allprojects { 18 | repositories { 19 | google() 20 | jcenter() 21 | } 22 | } 23 | 24 | task clean(type: Delete) { 25 | delete rootProject.buildDir 26 | } -------------------------------------------------------------------------------- /RecyclerViewDemo1/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerViewDemo1/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /RecyclerViewDemo1/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Jan 23 11:46:25 KST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 7 | -------------------------------------------------------------------------------- /RecyclerViewDemo1/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "RecyclerViewDemo1" -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/main/java/co/kr/recyclerviewheaderfooter/Person.java: -------------------------------------------------------------------------------- 1 | package co.kr.recyclerviewheaderfooter; 2 | 3 | public class Person { 4 | String name; 5 | 6 | public Person(String name) { 7 | this.name = name; 8 | } 9 | 10 | public String getName() { 11 | return name; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerviewHeaderFooter/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerviewHeaderFooter/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerviewHeaderFooter/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerviewHeaderFooter/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerviewHeaderFooter/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerviewHeaderFooter/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerviewHeaderFooter/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerviewHeaderFooter/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerviewHeaderFooter/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerviewHeaderFooter/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #6200EE 4 | #3700B3 5 | #03DAC5 6 | -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | RecyclerviewHeaderFooter 3 | -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/app/src/test/java/co/kr/recyclerviewheaderfooter/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package co.kr.recyclerviewheaderfooter; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | repositories { 4 | google() 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath "com.android.tools.build:gradle:4.0.1" 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | google() 18 | jcenter() 19 | } 20 | } 21 | 22 | task clean(type: Delete) { 23 | delete rootProject.buildDir 24 | } -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/RecyclerviewHeaderFooter/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Aug 13 17:15:14 KST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip 7 | -------------------------------------------------------------------------------- /RecyclerviewHeaderFooter/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "RecyclerviewHeaderFooter" -------------------------------------------------------------------------------- /TwoWayBingingEx/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /TwoWayBingingEx/app/src/main/java/com/example/twowaybinding/MainActivityViewModelFactory.kt: -------------------------------------------------------------------------------- 1 | package com.example.twowaybinding 2 | 3 | import androidx.lifecycle.ViewModel 4 | import androidx.lifecycle.ViewModelProvider 5 | import java.lang.IllegalArgumentException 6 | 7 | class MainActivityViewModelFactory(private val startingTotal: Int) : ViewModelProvider.Factory{ 8 | override fun create(modelClass: Class): T { 9 | if (modelClass.isAssignableFrom(MainActivityViewModel::class.java)){ 10 | return MainActivityViewModel(startingTotal) as T 11 | } 12 | throw IllegalArgumentException("Un") 13 | } 14 | } -------------------------------------------------------------------------------- /TwoWayBingingEx/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /TwoWayBingingEx/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /TwoWayBingingEx/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/TwoWayBingingEx/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /TwoWayBingingEx/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/TwoWayBingingEx/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TwoWayBingingEx/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/TwoWayBingingEx/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /TwoWayBingingEx/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/TwoWayBingingEx/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TwoWayBingingEx/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/TwoWayBingingEx/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /TwoWayBingingEx/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/TwoWayBingingEx/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TwoWayBingingEx/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/TwoWayBingingEx/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /TwoWayBingingEx/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/TwoWayBingingEx/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TwoWayBingingEx/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/TwoWayBingingEx/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /TwoWayBingingEx/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/TwoWayBingingEx/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TwoWayBingingEx/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /TwoWayBingingEx/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | TwowayBinding 3 | -------------------------------------------------------------------------------- /TwoWayBingingEx/app/src/test/java/com/example/twowaybinding/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.example.twowaybinding 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /TwoWayBingingEx/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | ext.kotlin_version = "1.3.72" 4 | repositories { 5 | google() 6 | jcenter() 7 | } 8 | dependencies { 9 | classpath "com.android.tools.build:gradle:4.1.1" 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | 12 | // NOTE: Do not place your application dependencies here; they belong 13 | // in the individual module build.gradle files 14 | } 15 | } 16 | 17 | allprojects { 18 | repositories { 19 | google() 20 | jcenter() 21 | } 22 | } 23 | 24 | task clean(type: Delete) { 25 | delete rootProject.buildDir 26 | } -------------------------------------------------------------------------------- /TwoWayBingingEx/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/TwoWayBingingEx/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /TwoWayBingingEx/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Jan 25 21:53:27 KST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 7 | -------------------------------------------------------------------------------- /TwoWayBingingEx/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "LiveDataDataBinding" -------------------------------------------------------------------------------- /ViewModelDataBinding/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /ViewModelDataBinding/app/src/main/java/com/keepseung/viewmodeldatabinding/MainActivityViewModelFactory.kt: -------------------------------------------------------------------------------- 1 | package com.keepseung.viewmodeldatabinding 2 | 3 | import androidx.lifecycle.ViewModel 4 | import androidx.lifecycle.ViewModelProvider 5 | import com.keepseung.viewmodeldatabinding.MainActivityViewModel 6 | import java.lang.IllegalArgumentException 7 | 8 | class MainActivityViewModelFactory(private val startingTotal: Int) : ViewModelProvider.Factory{ 9 | override fun create(modelClass: Class): T { 10 | if (modelClass.isAssignableFrom(MainActivityViewModel::class.java)){ 11 | return MainActivityViewModel(startingTotal) as T 12 | } 13 | throw IllegalArgumentException("Un") 14 | } 15 | } -------------------------------------------------------------------------------- /ViewModelDataBinding/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ViewModelDataBinding/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ViewModelDataBinding/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDataBinding/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /ViewModelDataBinding/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDataBinding/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ViewModelDataBinding/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDataBinding/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /ViewModelDataBinding/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDataBinding/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ViewModelDataBinding/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDataBinding/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ViewModelDataBinding/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDataBinding/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ViewModelDataBinding/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDataBinding/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ViewModelDataBinding/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDataBinding/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ViewModelDataBinding/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDataBinding/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ViewModelDataBinding/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDataBinding/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ViewModelDataBinding/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /ViewModelDataBinding/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ViewModelDataBinding 3 | -------------------------------------------------------------------------------- /ViewModelDataBinding/app/src/test/java/com/keepseung/viewmodeldatabinding/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.keepseung.viewmodeldatabinding 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /ViewModelDataBinding/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | ext.kotlin_version = "1.3.72" 4 | repositories { 5 | google() 6 | jcenter() 7 | } 8 | dependencies { 9 | classpath "com.android.tools.build:gradle:4.1.1" 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | 12 | // NOTE: Do not place your application dependencies here; they belong 13 | // in the individual module build.gradle files 14 | } 15 | } 16 | 17 | allprojects { 18 | repositories { 19 | google() 20 | jcenter() 21 | } 22 | } 23 | 24 | task clean(type: Delete) { 25 | delete rootProject.buildDir 26 | } -------------------------------------------------------------------------------- /ViewModelDataBinding/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDataBinding/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /ViewModelDataBinding/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Feb 06 11:21:49 KST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 7 | -------------------------------------------------------------------------------- /ViewModelDataBinding/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "ViewModelDataBinding" -------------------------------------------------------------------------------- /ViewModelDemo/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /ViewModelDemo/app/src/main/java/com/example/viewmodeldemo/MainActivityViewModel.kt: -------------------------------------------------------------------------------- 1 | package com.anushka.viewmodeldemo1 2 | 3 | import androidx.lifecycle.ViewModel 4 | 5 | class MainActivityViewModel(startingTotal: Int) :ViewModel() { 6 | private var count = 0 7 | 8 | init { 9 | count = startingTotal 10 | } 11 | 12 | fun getCurrentCount():Int{ 13 | return count 14 | } 15 | 16 | fun getUpdatedCount():Int{ 17 | return ++count 18 | } 19 | 20 | fun getUpdatedCount(plusCount: Int):Int{ 21 | count+= plusCount 22 | return count 23 | } 24 | } -------------------------------------------------------------------------------- /ViewModelDemo/app/src/main/java/com/example/viewmodeldemo/MainActivityViewModelFactory.kt: -------------------------------------------------------------------------------- 1 | package com.anushka.viewmodeldemo1 2 | 3 | import androidx.lifecycle.ViewModel 4 | import androidx.lifecycle.ViewModelProvider 5 | import java.lang.IllegalArgumentException 6 | 7 | class MainActivityViewModelFactory(private val startingTotal: Int) : ViewModelProvider.Factory{ 8 | override fun create(modelClass: Class): T { 9 | if (modelClass.isAssignableFrom(MainActivityViewModel::class.java)){ 10 | return MainActivityViewModel(startingTotal) as T 11 | } 12 | throw IllegalArgumentException("Un") 13 | } 14 | } -------------------------------------------------------------------------------- /ViewModelDemo/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ViewModelDemo/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ViewModelDemo/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDemo/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /ViewModelDemo/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDemo/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ViewModelDemo/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDemo/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /ViewModelDemo/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDemo/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ViewModelDemo/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDemo/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ViewModelDemo/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDemo/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ViewModelDemo/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDemo/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ViewModelDemo/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDemo/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ViewModelDemo/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDemo/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ViewModelDemo/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDemo/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ViewModelDemo/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /ViewModelDemo/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ViewModelDemo 3 | -------------------------------------------------------------------------------- /ViewModelDemo/app/src/test/java/com/example/viewmodeldemo/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.example.viewmodeldemo 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /ViewModelDemo/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | ext.kotlin_version = "1.3.72" 4 | repositories { 5 | google() 6 | jcenter() 7 | } 8 | dependencies { 9 | classpath "com.android.tools.build:gradle:4.1.1" 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | 12 | // NOTE: Do not place your application dependencies here; they belong 13 | // in the individual module build.gradle files 14 | } 15 | } 16 | 17 | allprojects { 18 | repositories { 19 | google() 20 | jcenter() 21 | } 22 | } 23 | 24 | task clean(type: Delete) { 25 | delete rootProject.buildDir 26 | } -------------------------------------------------------------------------------- /ViewModelDemo/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/ViewModelDemo/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /ViewModelDemo/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Jan 20 22:11:48 KST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 7 | -------------------------------------------------------------------------------- /ViewModelDemo/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "ViewModelDemo" -------------------------------------------------------------------------------- /appupdate-check/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | -------------------------------------------------------------------------------- /appupdate-check/.idea/.name: -------------------------------------------------------------------------------- 1 | appupdate-check -------------------------------------------------------------------------------- /appupdate-check/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /appupdate-check/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /appupdate-check/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /appupdate-check/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /appupdate-check/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /appupdate-check/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/appupdate-check/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /appupdate-check/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/appupdate-check/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /appupdate-check/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/appupdate-check/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /appupdate-check/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/appupdate-check/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /appupdate-check/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/appupdate-check/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /appupdate-check/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/appupdate-check/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /appupdate-check/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/appupdate-check/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /appupdate-check/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/appupdate-check/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /appupdate-check/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/appupdate-check/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /appupdate-check/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/appupdate-check/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /appupdate-check/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #6200EE 4 | #3700B3 5 | #03DAC5 6 | 7 | -------------------------------------------------------------------------------- /appupdate-check/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | appupdate-check 3 | 4 | -------------------------------------------------------------------------------- /appupdate-check/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /appupdate-check/app/src/test/java/com/example/appupdate_check/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.appupdate_check; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /appupdate-check/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | 5 | repositories { 6 | google() 7 | jcenter() 8 | 9 | } 10 | dependencies { 11 | classpath 'com.android.tools.build:gradle:3.6.1' 12 | 13 | 14 | // NOTE: Do not place your application dependencies here; they belong 15 | // in the individual module build.gradle files 16 | } 17 | } 18 | 19 | allprojects { 20 | repositories { 21 | google() 22 | jcenter() 23 | 24 | } 25 | } 26 | 27 | task clean(type: Delete) { 28 | delete rootProject.buildDir 29 | } 30 | -------------------------------------------------------------------------------- /appupdate-check/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/appupdate-check/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /appupdate-check/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Jul 18 16:49:39 KST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip 7 | -------------------------------------------------------------------------------- /appupdate-check/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name='appupdate-check' 2 | include ':app' 3 | -------------------------------------------------------------------------------- /googlelogin/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /googlelogin/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /googlelogin/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /googlelogin/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /googlelogin/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/googlelogin/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /googlelogin/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/googlelogin/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /googlelogin/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/googlelogin/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /googlelogin/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/googlelogin/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /googlelogin/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/googlelogin/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /googlelogin/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/googlelogin/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /googlelogin/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/googlelogin/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /googlelogin/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/googlelogin/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /googlelogin/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/googlelogin/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /googlelogin/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/googlelogin/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /googlelogin/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /googlelogin/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | googlelogin 3 | -------------------------------------------------------------------------------- /googlelogin/app/src/test/java/com/example/googlelogin/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.googlelogin; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /googlelogin/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | repositories { 4 | google() 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath "com.android.tools.build:gradle:4.1.1" 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | google() 18 | jcenter() 19 | } 20 | } 21 | 22 | task clean(type: Delete) { 23 | delete rootProject.buildDir 24 | } -------------------------------------------------------------------------------- /googlelogin/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/googlelogin/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /googlelogin/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Jan 10 14:08:47 KST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 7 | -------------------------------------------------------------------------------- /googlelogin/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "googlelogin" -------------------------------------------------------------------------------- /kakaologin/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /kakaologin/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /kakaologin/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /kakaologin/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /kakaologin/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/kakaologin/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /kakaologin/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/kakaologin/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /kakaologin/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/kakaologin/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /kakaologin/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/kakaologin/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /kakaologin/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/kakaologin/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /kakaologin/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/kakaologin/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /kakaologin/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/kakaologin/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /kakaologin/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/kakaologin/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /kakaologin/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/kakaologin/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /kakaologin/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/kakaologin/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /kakaologin/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /kakaologin/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | kakaologin 3 | bb106277f54dc2b2d1ef2aa350098fe7 4 | -------------------------------------------------------------------------------- /kakaologin/app/src/test/java/com/example/kakaologin/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.kakaologin; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /kakaologin/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | repositories { 4 | google() 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath "com.android.tools.build:gradle:4.1.1" 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | google() 18 | jcenter() 19 | 20 | maven { url 'http://devrepo.kakao.com:8088/nexus/content/groups/public/'} 21 | } 22 | } 23 | 24 | task clean(type: Delete) { 25 | delete rootProject.buildDir 26 | } -------------------------------------------------------------------------------- /kakaologin/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/kakaologin/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /kakaologin/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Jan 09 20:44:16 KST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 7 | -------------------------------------------------------------------------------- /kakaologin/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "kakaologin" -------------------------------------------------------------------------------- /network-check/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | -------------------------------------------------------------------------------- /network-check/.idea/.name: -------------------------------------------------------------------------------- 1 | network-check -------------------------------------------------------------------------------- /network-check/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 19 | -------------------------------------------------------------------------------- /network-check/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /network-check/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /network-check/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /network-check/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /network-check/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /network-check/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/network-check/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /network-check/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/network-check/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /network-check/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/network-check/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /network-check/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/network-check/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /network-check/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/network-check/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /network-check/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/network-check/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /network-check/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/network-check/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /network-check/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/network-check/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /network-check/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/network-check/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /network-check/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/network-check/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /network-check/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #6200EE 4 | #3700B3 5 | #03DAC5 6 | 7 | -------------------------------------------------------------------------------- /network-check/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | network-check 3 | 4 | -------------------------------------------------------------------------------- /network-check/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /network-check/app/src/test/java/com/example/network_check/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.network_check; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /network-check/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | 5 | repositories { 6 | google() 7 | jcenter() 8 | 9 | } 10 | dependencies { 11 | classpath 'com.android.tools.build:gradle:3.6.1' 12 | 13 | 14 | // NOTE: Do not place your application dependencies here; they belong 15 | // in the individual module build.gradle files 16 | } 17 | } 18 | 19 | allprojects { 20 | repositories { 21 | google() 22 | jcenter() 23 | 24 | } 25 | } 26 | 27 | task clean(type: Delete) { 28 | delete rootProject.buildDir 29 | } 30 | -------------------------------------------------------------------------------- /network-check/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/network-check/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /network-check/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Jul 18 15:34:15 KST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip 7 | -------------------------------------------------------------------------------- /network-check/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name='network-check' 2 | include ':app' 3 | -------------------------------------------------------------------------------- /permission-check/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /permission-check/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /permission-check/.idea/.name: -------------------------------------------------------------------------------- 1 | Permission-check -------------------------------------------------------------------------------- /permission-check/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /permission-check/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /permission-check/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /permission-check/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /permission-check/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /permission-check/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /permission-check/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/permission-check/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /permission-check/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/permission-check/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /permission-check/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/permission-check/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /permission-check/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/permission-check/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /permission-check/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/permission-check/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /permission-check/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/permission-check/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /permission-check/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/permission-check/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /permission-check/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/permission-check/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /permission-check/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/permission-check/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /permission-check/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/permission-check/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /permission-check/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /permission-check/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Permission-check 3 | -------------------------------------------------------------------------------- /permission-check/app/src/test/java/com/example/permission_check/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.permission_check; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /permission-check/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | repositories { 4 | google() 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath "com.android.tools.build:gradle:4.1.1" 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | google() 18 | jcenter() 19 | } 20 | } 21 | 22 | task clean(type: Delete) { 23 | delete rootProject.buildDir 24 | } -------------------------------------------------------------------------------- /permission-check/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/permission-check/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /permission-check/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Jan 19 16:48:37 KST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 7 | -------------------------------------------------------------------------------- /permission-check/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "Permission-check" -------------------------------------------------------------------------------- /phoneNum/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /phoneNum/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /phoneNum/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /phoneNum/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /phoneNum/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /phoneNum/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /phoneNum/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /phoneNum/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /phoneNum/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/phoneNum/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /phoneNum/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/phoneNum/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /phoneNum/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/phoneNum/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /phoneNum/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/phoneNum/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /phoneNum/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/phoneNum/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /phoneNum/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/phoneNum/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /phoneNum/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/phoneNum/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /phoneNum/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/phoneNum/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /phoneNum/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/phoneNum/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /phoneNum/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/phoneNum/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /phoneNum/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /phoneNum/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | phoneNum 3 | -------------------------------------------------------------------------------- /phoneNum/app/src/test/java/com/example/phonenum/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.phonenum; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /phoneNum/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | repositories { 4 | google() 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath "com.android.tools.build:gradle:4.1.1" 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | google() 18 | jcenter() 19 | } 20 | } 21 | 22 | task clean(type: Delete) { 23 | delete rootProject.buildDir 24 | } -------------------------------------------------------------------------------- /phoneNum/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/phoneNum/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /phoneNum/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Jan 19 17:34:16 KST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 7 | -------------------------------------------------------------------------------- /phoneNum/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "phoneNum" -------------------------------------------------------------------------------- /roundview/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | -------------------------------------------------------------------------------- /roundview/.idea/.name: -------------------------------------------------------------------------------- 1 | RoundView -------------------------------------------------------------------------------- /roundview/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /roundview/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /roundview/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /roundview/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /roundview/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /roundview/app/src/main/java/co/kr/roundview/MainActivity.java: -------------------------------------------------------------------------------- 1 | package co.kr.roundview; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.os.Bundle; 6 | 7 | public class MainActivity extends AppCompatActivity { 8 | 9 | @Override 10 | protected void onCreate(Bundle savedInstanceState) { 11 | super.onCreate(savedInstanceState); 12 | setContentView(R.layout.activity_main); 13 | } 14 | } -------------------------------------------------------------------------------- /roundview/app/src/main/res/drawable/round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /roundview/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /roundview/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /roundview/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/roundview/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /roundview/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/roundview/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /roundview/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/roundview/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /roundview/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/roundview/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /roundview/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/roundview/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /roundview/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/roundview/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /roundview/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/roundview/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /roundview/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/roundview/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /roundview/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/roundview/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /roundview/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/roundview/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /roundview/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #6200EE 4 | #3700B3 5 | #03DAC5 6 | -------------------------------------------------------------------------------- /roundview/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | RoundView 3 | -------------------------------------------------------------------------------- /roundview/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /roundview/app/src/test/java/co/kr/roundview/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package co.kr.roundview; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /roundview/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | repositories { 4 | google() 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath "com.android.tools.build:gradle:4.0.1" 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | google() 18 | jcenter() 19 | } 20 | } 21 | 22 | task clean(type: Delete) { 23 | delete rootProject.buildDir 24 | } -------------------------------------------------------------------------------- /roundview/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/roundview/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /roundview/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Aug 13 09:07:56 KST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip 7 | -------------------------------------------------------------------------------- /roundview/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "RoundView" -------------------------------------------------------------------------------- /timer/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | .idea/ -------------------------------------------------------------------------------- /timer/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /timer/app/src/main/res/drawable/drawable_tick_mark.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /timer/app/src/main/res/drawable/ic_thumb.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /timer/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /timer/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /timer/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/timer/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /timer/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/timer/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /timer/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/timer/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /timer/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/timer/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /timer/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/timer/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /timer/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/timer/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /timer/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/timer/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /timer/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/timer/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /timer/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/timer/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /timer/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/timer/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /timer/app/src/main/res/raw/timer_bell.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/timer/app/src/main/res/raw/timer_bell.mp4 -------------------------------------------------------------------------------- /timer/app/src/main/res/raw/timer_ticking.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/timer/app/src/main/res/raw/timer_ticking.mp4 -------------------------------------------------------------------------------- /timer/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | #00000000 11 | -------------------------------------------------------------------------------- /timer/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Timer 3 | -------------------------------------------------------------------------------- /timer/app/src/test/java/com/example/timer/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.example.timer 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /timer/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keepseung/Android-Blog-Source/4fee942fcd44ec5816fe6eecfb633421adaa37b3/timer/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /timer/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Sep 26 15:35:16 KST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /timer/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = "Timer" 2 | include ':app' 3 | --------------------------------------------------------------------------------