├── README.md ├── chapter_01 └── HelloWorld │ ├── .gitignore │ ├── app │ ├── ._.DS_Store │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── helloworld │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── helloworld │ │ │ │ └── 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 │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── helloworld │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter_02 └── HelloWorld │ ├── .gitignore │ ├── app │ ├── ._.DS_Store │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── helloworld │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── helloworld │ │ │ │ ├── Cellphone.kt │ │ │ │ ├── LearnKotlin.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── Person.kt │ │ │ │ ├── Singleton.kt │ │ │ │ ├── Student.kt │ │ │ │ └── Study.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 │ │ └── example │ │ └── helloworld │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter_03 ├── ActivityLifeCycleTest │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── activitylifecycletest │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── activitylifecycletest │ │ │ │ │ ├── DialogActivity.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ └── NormalActivity.kt │ │ │ └── res │ │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── drawable │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ ├── dialog_layout.xml │ │ │ │ └── normal_layout.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 │ │ │ └── activitylifecycletest │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── ActivityTest │ ├── .gitignore │ ├── app │ ├── ._.DS_Store │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── activitytest │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── activitytest │ │ │ │ ├── ActivityBox.kt │ │ │ │ ├── BaseActivity.kt │ │ │ │ ├── FirstActivity.kt │ │ │ │ ├── Helper.kt │ │ │ │ ├── JavaTest.java │ │ │ │ ├── SecondActivity.kt │ │ │ │ ├── ThirdActivity.kt │ │ │ │ └── Util.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ ├── first_layout.xml │ │ │ ├── second_layout.xml │ │ │ └── third_layout.xml │ │ │ ├── menu │ │ │ └── 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 │ │ └── activitytest │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter_04 ├── ListViewTest │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── listviewtest │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── listviewtest │ │ │ │ │ ├── Fruit.kt │ │ │ │ │ ├── FruitAdapter.kt │ │ │ │ │ └── MainActivity.kt │ │ │ └── res │ │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── drawable-xxhdpi │ │ │ │ ├── apple_pic.png │ │ │ │ ├── banana_pic.png │ │ │ │ ├── cherry_pic.png │ │ │ │ ├── grape_pic.png │ │ │ │ ├── mango_pic.png │ │ │ │ ├── orange_pic.png │ │ │ │ ├── pear_pic.png │ │ │ │ ├── pineapple_pic.png │ │ │ │ ├── strawberry_pic.png │ │ │ │ └── watermelon_pic.png │ │ │ │ ├── drawable │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ └── fruit_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 │ │ │ └── com │ │ │ └── example │ │ │ └── listviewtest │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── RecyclerViewTest │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── recyclerviewtest │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── recyclerviewtest │ │ │ │ │ ├── Fruit.kt │ │ │ │ │ ├── FruitAdapter.kt │ │ │ │ │ └── MainActivity.kt │ │ │ └── res │ │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── drawable-xxhdpi │ │ │ │ ├── apple_pic.png │ │ │ │ ├── banana_pic.png │ │ │ │ ├── cherry_pic.png │ │ │ │ ├── grape_pic.png │ │ │ │ ├── mango_pic.png │ │ │ │ ├── orange_pic.png │ │ │ │ ├── pear_pic.png │ │ │ │ ├── pineapple_pic.png │ │ │ │ ├── strawberry_pic.png │ │ │ │ └── watermelon_pic.png │ │ │ │ ├── drawable │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ └── fruit_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 │ │ │ └── com │ │ │ └── example │ │ │ └── recyclerviewtest │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── UIBestPractice │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── uibestpractice │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── uibestpractice │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── Msg.kt │ │ │ │ │ ├── MsgAdapter.kt │ │ │ │ │ ├── MsgViewHolder.kt │ │ │ │ │ └── Result.kt │ │ │ └── res │ │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── drawable-xxhdpi │ │ │ │ ├── message_left.9.png │ │ │ │ ├── message_left_original.png │ │ │ │ ├── message_right.9.png │ │ │ │ └── message_right_original.png │ │ │ │ ├── drawable │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ ├── msg_left_item.xml │ │ │ │ └── msg_right_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 │ │ │ └── com │ │ │ └── example │ │ │ └── uibestpractice │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── UICustomViews │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── uicustomviews │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── uicustomviews │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ └── TitleLayout.kt │ │ │ └── res │ │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── drawable-xxhdpi │ │ │ │ ├── back_bg.png │ │ │ │ ├── edit_bg.png │ │ │ │ └── title_bg.png │ │ │ │ ├── drawable │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ └── title.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 │ │ │ └── uicustomviews │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── UILayoutTest │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── uilayouttest │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── uilayouttest │ │ │ │ │ └── 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 │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── uilayouttest │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── UIWidgetTest │ ├── .gitignore │ ├── app │ ├── ._.DS_Store │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── uiwidgettest │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── uiwidgettest │ │ │ │ ├── MainActivity.kt │ │ │ │ └── Test.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable-xxhdpi │ │ │ ├── img_1.png │ │ │ └── img_2.png │ │ │ ├── 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 │ │ └── uiwidgettest │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter_05 ├── FragmentBestPractice │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── fragmentbestpractice │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── fragmentbestpractice │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── Money.kt │ │ │ │ │ ├── News.kt │ │ │ │ │ ├── NewsContentActivity.kt │ │ │ │ │ ├── NewsContentFragment.kt │ │ │ │ │ ├── NewsTitleFragment.kt │ │ │ │ │ └── String.kt │ │ │ └── res │ │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── drawable │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── layout-sw600dp │ │ │ │ └── activity_main.xml │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ ├── activity_news_content.xml │ │ │ │ ├── news_content_frag.xml │ │ │ │ ├── news_item.xml │ │ │ │ └── news_title_frag.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 │ │ │ └── fragmentbestpractice │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── FragmentTest │ ├── .gitignore │ ├── app │ ├── ._.DS_Store │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── fragmenttest │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── fragmenttest │ │ │ │ ├── AnotherRightFragment.kt │ │ │ │ ├── LeftFragment.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ └── RightFragment.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout-large │ │ │ └── activity_main.xml │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ ├── another_right_fragment.xml │ │ │ ├── left_fragment.xml │ │ │ └── right_fragment.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 │ │ └── fragmenttest │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter_06 ├── BroadcastBestPractice │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── broadcastbestpractice │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── broadcastbestpractice │ │ │ │ │ ├── ActivityCollector.kt │ │ │ │ │ ├── BaseActivity.kt │ │ │ │ │ ├── HigherOrderFunction.kt │ │ │ │ │ ├── LoginActivity.kt │ │ │ │ │ └── MainActivity.kt │ │ │ └── res │ │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── drawable │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── layout │ │ │ │ ├── activity_login.xml │ │ │ │ └── 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 │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── broadcastbestpractice │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── BroadcastTest │ ├── .gitignore │ ├── app │ ├── ._.DS_Store │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── broadcasttest │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── broadcasttest │ │ │ │ ├── AnotherBroadcastReceiver.kt │ │ │ │ ├── BootCompleteReceiver.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ └── MyBroadcastReceiver.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 │ │ └── example │ │ └── broadcasttest │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter_07 ├── BroadcastBestPractice │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── broadcastbestpractice │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── broadcastbestpractice │ │ │ │ │ ├── ActivityCollector.kt │ │ │ │ │ ├── BaseActivity.kt │ │ │ │ │ ├── HigherOrderFunction.kt │ │ │ │ │ ├── LoginActivity.kt │ │ │ │ │ └── MainActivity.kt │ │ │ └── res │ │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── drawable │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── layout │ │ │ │ ├── activity_login.xml │ │ │ │ └── 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 │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── broadcastbestpractice │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── DatabaseTest │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── databasetest │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── databasetest │ │ │ │ │ ├── ContentValues.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ └── MyDatabaseHelper.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 │ │ │ └── example │ │ │ └── databasetest │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── FilePersistenceTest │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── filepersistencetest │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── filepersistencetest │ │ │ │ │ └── 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 │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── filepersistencetest │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── SharedPreferencesTest │ ├── .gitignore │ ├── app │ ├── ._.DS_Store │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── sharedpreferencestest │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── sharedpreferencestest │ │ │ │ ├── MainActivity.kt │ │ │ │ └── SharedPreferences.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 │ │ └── example │ │ └── sharedpreferencestest │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter_08 ├── ContactsTest │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── contactstest │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── contactstest │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ └── MyProvider.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 │ │ │ └── example │ │ │ └── contactstest │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── DatabaseTest │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── databasetest │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── databasetest │ │ │ │ │ ├── ._.DS_Store │ │ │ │ │ ├── ContentValues.kt │ │ │ │ │ ├── DatabaseProvider.kt │ │ │ │ │ ├── Later.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ └── MyDatabaseHelper.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 │ │ │ └── example │ │ │ └── databasetest │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── ProviderTest │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── providertest │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── providertest │ │ │ │ │ ├── Delegate.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── MyClass.kt │ │ │ │ │ ├── MySet.kt │ │ │ │ │ └── build.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 │ │ │ └── example │ │ │ └── providertest │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── RuntimePermissionTest │ ├── .gitignore │ ├── app │ ├── ._.DS_Store │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── runtimepermissiontest │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── runtimepermissiontest │ │ │ │ └── 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 │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── runtimepermissiontest │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter_09 ├── CameraAlbumTest │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── cameraalbumtest │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── cameraalbumtest │ │ │ │ │ └── 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 │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ │ └── xml │ │ │ │ └── file_paths.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── cameraalbumtest │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── NotificationTest │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── notificationtest │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── notificationtest │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ └── NotificationActivity.kt │ │ │ └── res │ │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── drawable-xxhdpi │ │ │ │ ├── big_image.jpg │ │ │ │ ├── large_icon.png │ │ │ │ └── small_icon.png │ │ │ │ ├── drawable │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ └── activity_notification.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 │ │ │ └── notificationtest │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── PlayAudioTest │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── playaudiotest │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets │ │ │ │ └── music.mp3 │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── playaudiotest │ │ │ │ │ └── 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 │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── playaudiotest │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── PlayVideoTest │ ├── .gitignore │ ├── app │ ├── ._.DS_Store │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── playvideotest │ │ │ ├── MainActivity.kt │ │ │ └── infix.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 │ │ ├── raw │ │ └── video.mp4 │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter_10 ├── AndroidThreadTest │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── androidthreadtest │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── androidthreadtest │ │ │ │ │ └── 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 │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── androidthreadtest │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── ServiceTest │ ├── .gitignore │ ├── app │ ├── ._.DS_Store │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── servicetest │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ ├── com │ │ │ │ └── example │ │ │ │ │ └── servicetest │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── MyIntentService.kt │ │ │ │ │ ├── MyService.kt │ │ │ │ │ └── reified.kt │ │ │ └── transform.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable-xxhdpi │ │ │ ├── large_icon.png │ │ │ └── small_icon.png │ │ │ ├── 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 │ │ └── servicetest │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter_11 ├── NetworkTest │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── networktest │ │ │ │ │ ├── App.kt │ │ │ │ │ ├── ContentHandler.kt │ │ │ │ │ ├── CoroutinesTest.kt │ │ │ │ │ ├── HttpCallbackListener.kt │ │ │ │ │ ├── HttpUtil.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ └── MyHandler.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 │ │ │ │ └── xml │ │ │ │ └── network_config.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── networktest │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── RetrofitTest │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── retrofittest │ │ │ │ │ ├── App.kt │ │ │ │ │ ├── AppService.kt │ │ │ │ │ ├── CoroutinesTest.kt │ │ │ │ │ ├── Data.kt │ │ │ │ │ ├── ExampleService.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ └── ServiceCreator.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 │ │ │ │ └── xml │ │ │ │ └── network_config.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── retrofittest │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── WebViewTest │ ├── .gitignore │ ├── app │ ├── ._.DS_Store │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── webviewtest │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── webviewtest │ │ │ │ └── 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 │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── webviewtest │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter_12 └── MaterialTest │ ├── .gitignore │ ├── app │ ├── ._.DS_Store │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── materialtest │ │ │ │ ├── Fruit.kt │ │ │ │ ├── FruitActivity.kt │ │ │ │ ├── FruitAdapter.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── Max.kt │ │ │ │ ├── Snackbar.kt │ │ │ │ └── Toast.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable-xxhdpi │ │ │ ├── ._.DS_Store │ │ │ ├── ._pear.jpg │ │ │ ├── apple.jpg │ │ │ ├── banana.jpg │ │ │ ├── cherry.jpg │ │ │ ├── grape.jpg │ │ │ ├── ic_backup.png │ │ │ ├── ic_comment.png │ │ │ ├── ic_delete.png │ │ │ ├── ic_done.png │ │ │ ├── ic_menu.png │ │ │ ├── ic_settings.png │ │ │ ├── mango.jpg │ │ │ ├── nav_call.png │ │ │ ├── nav_friends.png │ │ │ ├── nav_icon.png │ │ │ ├── nav_location.png │ │ │ ├── nav_mail.png │ │ │ ├── nav_task.png │ │ │ ├── orange.jpg │ │ │ ├── pear.jpg │ │ │ ├── pineapple.jpg │ │ │ ├── strawberry.jpg │ │ │ └── watermelon.jpg │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ ├── activity_fruit.xml │ │ │ ├── activity_main.xml │ │ │ ├── fruit_item.xml │ │ │ └── nav_header.xml │ │ │ ├── menu │ │ │ ├── nav_menu.xml │ │ │ └── toolbar.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 │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── materialtest │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter_13 └── JetpackTest │ ├── .gitignore │ ├── app │ ├── ._.DS_Store │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── jetpacktest │ │ │ │ ├── AppDatabase.kt │ │ │ │ ├── Book.kt │ │ │ │ ├── BookDao.kt │ │ │ │ ├── DSL.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── MainViewModel.kt │ │ │ │ ├── MainViewModelFactory.kt │ │ │ │ ├── MyObserver.kt │ │ │ │ ├── Repository.kt │ │ │ │ ├── SimpleWorker.kt │ │ │ │ ├── User.kt │ │ │ │ └── UserDao.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 │ │ └── example │ │ └── jetpacktest │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter_14 ├── ActivityTest │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── activitytest │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── activitytest │ │ │ │ │ ├── ActivityBox.kt │ │ │ │ │ ├── BaseActivity.kt │ │ │ │ │ ├── FirstActivity.kt │ │ │ │ │ ├── Helper.kt │ │ │ │ │ ├── JavaTest.java │ │ │ │ │ ├── LogUtil.kt │ │ │ │ │ ├── Person.kt │ │ │ │ │ ├── SecondActivity.kt │ │ │ │ │ ├── ThirdActivity.kt │ │ │ │ │ └── Util.kt │ │ │ └── res │ │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── drawable │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── layout │ │ │ │ ├── first_layout.xml │ │ │ │ ├── second_layout.xml │ │ │ │ └── third_layout.xml │ │ │ │ ├── menu │ │ │ │ └── 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 │ │ │ └── activitytest │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── BroadcastBestPractice │ ├── .gitignore │ ├── app │ │ ├── ._.DS_Store │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── broadcastbestpractice │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── broadcastbestpractice │ │ │ │ │ ├── ActivityCollector.kt │ │ │ │ │ ├── BaseActivity.kt │ │ │ │ │ ├── HigherOrderFunction.kt │ │ │ │ │ ├── LoginActivity.kt │ │ │ │ │ └── MainActivity.kt │ │ │ └── res │ │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── drawable │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── layout │ │ │ │ ├── activity_login.xml │ │ │ │ └── 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 │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── broadcastbestpractice │ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── MaterialTest │ ├── .gitignore │ ├── app │ ├── ._.DS_Store │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── materialtest │ │ │ │ ├── FirstActivity.kt │ │ │ │ ├── Fruit.kt │ │ │ │ ├── FruitActivity.kt │ │ │ │ ├── FruitAdapter.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── Max.kt │ │ │ │ ├── MyApplication.kt │ │ │ │ ├── Snackbar.kt │ │ │ │ ├── Test.java │ │ │ │ ├── Test2.kt │ │ │ │ ├── Toast.kt │ │ │ │ └── Util.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable-xxhdpi │ │ │ ├── ._.DS_Store │ │ │ ├── ._pear.jpg │ │ │ ├── apple.jpg │ │ │ ├── banana.jpg │ │ │ ├── cherry.jpg │ │ │ ├── grape.jpg │ │ │ ├── ic_backup.png │ │ │ ├── ic_comment.png │ │ │ ├── ic_delete.png │ │ │ ├── ic_done.png │ │ │ ├── ic_menu.png │ │ │ ├── ic_settings.png │ │ │ ├── mango.jpg │ │ │ ├── nav_call.png │ │ │ ├── nav_friends.png │ │ │ ├── nav_icon.png │ │ │ ├── nav_location.png │ │ │ ├── nav_mail.png │ │ │ ├── nav_task.png │ │ │ ├── orange.jpg │ │ │ ├── pear.jpg │ │ │ ├── pineapple.jpg │ │ │ ├── strawberry.jpg │ │ │ └── watermelon.jpg │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ ├── activity_first.xml │ │ │ ├── activity_fruit.xml │ │ │ ├── activity_main.xml │ │ │ ├── fruit_item.xml │ │ │ └── nav_header.xml │ │ │ ├── menu │ │ │ ├── nav_menu.xml │ │ │ └── toolbar.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 │ │ │ └── colors.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── materialtest │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter_15 └── SunnyWeather │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── app │ ├── .DS_Store │ ├── ._.DS_Store │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ ├── release │ │ └── output.json │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── sunnyweather │ │ │ └── android │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── ic_launcher-web.png │ │ ├── java │ │ │ └── com │ │ │ │ └── sunnyweather │ │ │ │ └── android │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── SunnyWeatherApplication.kt │ │ │ │ ├── logic │ │ │ │ ├── Repository.kt │ │ │ │ ├── dao │ │ │ │ │ └── PlaceDao.kt │ │ │ │ ├── model │ │ │ │ │ ├── DailyResponse.kt │ │ │ │ │ ├── PlaceResponse.kt │ │ │ │ │ ├── RealtimeResponse.kt │ │ │ │ │ ├── Sky.kt │ │ │ │ │ └── Weather.kt │ │ │ │ └── network │ │ │ │ │ ├── PlaceService.kt │ │ │ │ │ ├── ServiceCreator.kt │ │ │ │ │ ├── SunnyWeatherNetwork.kt │ │ │ │ │ └── WeatherService.kt │ │ │ │ └── ui │ │ │ │ ├── place │ │ │ │ ├── PlaceAdapter.kt │ │ │ │ ├── PlaceFragment.kt │ │ │ │ └── PlaceViewModel.kt │ │ │ │ └── weather │ │ │ │ ├── WeatherActivity.kt │ │ │ │ └── WeatherViewModel.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable-xxhdpi │ │ │ ├── bg_clear_day.jpg │ │ │ ├── bg_clear_night.jpg │ │ │ ├── bg_cloudy.jpg │ │ │ ├── bg_fog.jpg │ │ │ ├── bg_partly_cloudy_day.jpg │ │ │ ├── bg_partly_cloudy_night.jpg │ │ │ ├── bg_place.png │ │ │ ├── bg_rain.jpg │ │ │ ├── bg_snow.jpg │ │ │ ├── bg_wind.jpg │ │ │ ├── ic_carwashing.png │ │ │ ├── ic_clear_day.png │ │ │ ├── ic_clear_night.png │ │ │ ├── ic_cloudy.png │ │ │ ├── ic_coldrisk.png │ │ │ ├── ic_dressing.png │ │ │ ├── ic_fog.png │ │ │ ├── ic_hail.png │ │ │ ├── ic_heavy_haze.png │ │ │ ├── ic_heavy_rain.png │ │ │ ├── ic_heavy_snow.png │ │ │ ├── ic_home.png │ │ │ ├── ic_light_haze.png │ │ │ ├── ic_light_rain.png │ │ │ ├── ic_light_snow.png │ │ │ ├── ic_moderate_haze.png │ │ │ ├── ic_moderate_rain.png │ │ │ ├── ic_moderate_snow.png │ │ │ ├── ic_partly_cloud_day.png │ │ │ ├── ic_partly_cloud_night.png │ │ │ ├── ic_sleet.png │ │ │ ├── ic_storm_rain.png │ │ │ ├── ic_thunder_shower.png │ │ │ ├── ic_ultraviolet.png │ │ │ └── search_bg.9.png │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ ├── activity_weather.xml │ │ │ ├── forecast.xml │ │ │ ├── forecast_item.xml │ │ │ ├── fragment_place.xml │ │ │ ├── life_index.xml │ │ │ ├── now.xml │ │ │ └── place_item.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── ic_launcher_background.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── sunnyweather │ │ └── android │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── logo │ └── sunny_weather_logo.png │ └── settings.gradle └── chapter_16 ├── PermissionX ├── .gitignore ├── LICENSE ├── README.md ├── app │ ├── .DS_Store │ ├── ._.DS_Store │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── permissionx │ │ │ └── app │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── permissionx │ │ │ │ └── app │ │ │ │ └── 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 │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── permissionx │ │ └── app │ │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── library │ ├── .gitignore │ ├── build.gradle │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── permissionx │ │ │ └── guolindev │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── permissionx │ │ │ │ └── guolindev │ │ │ │ ├── InvisibleFragment.kt │ │ │ │ └── PermissionX.kt │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── permissionx │ │ └── guolindev │ │ └── ExampleUnitTest.kt └── settings.gradle └── PermissionXTest ├── .gitignore ├── app ├── ._.DS_Store ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── example │ │ └── permissionxtest │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── permissionxtest │ │ │ └── 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 │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── example │ └── permissionxtest │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /README.md: -------------------------------------------------------------------------------- 1 | # AndroidFirstCode_03 2 | 《第一行代码——Android(第3版)》随书资源的源码 3 | -------------------------------------------------------------------------------- /chapter_01/HelloWorld/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_01/HelloWorld/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_01/HelloWorld/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_01/HelloWorld/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_01/HelloWorld/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_01/HelloWorld/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_01/HelloWorld/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_01/HelloWorld/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_01/HelloWorld/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_01/HelloWorld/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_01/HelloWorld/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_01/HelloWorld/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_01/HelloWorld/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_01/HelloWorld/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_01/HelloWorld/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_01/HelloWorld/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_01/HelloWorld/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_01/HelloWorld/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_01/HelloWorld/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_01/HelloWorld/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_01/HelloWorld/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_01/HelloWorld/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_01/HelloWorld/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_01/HelloWorld/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | HelloWorld 3 | 4 | -------------------------------------------------------------------------------- /chapter_01/HelloWorld/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_01/HelloWorld/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_01/HelloWorld/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name='HelloWorld' 3 | -------------------------------------------------------------------------------- /chapter_02/HelloWorld/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_02/HelloWorld/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_02/HelloWorld/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_02/HelloWorld/app/src/main/java/com/example/helloworld/Cellphone.kt: -------------------------------------------------------------------------------- 1 | package com.example.helloworld 2 | 3 | data class Cellphone(val brand: String, val price: Double) -------------------------------------------------------------------------------- /chapter_02/HelloWorld/app/src/main/java/com/example/helloworld/Singleton.kt: -------------------------------------------------------------------------------- 1 | package com.example.helloworld 2 | 3 | object Singleton { 4 | fun singletonTest() { 5 | println("singletonTest is called.") 6 | } 7 | } -------------------------------------------------------------------------------- /chapter_02/HelloWorld/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_02/HelloWorld/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_02/HelloWorld/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_02/HelloWorld/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_02/HelloWorld/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_02/HelloWorld/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_02/HelloWorld/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_02/HelloWorld/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_02/HelloWorld/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_02/HelloWorld/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_02/HelloWorld/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_02/HelloWorld/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_02/HelloWorld/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_02/HelloWorld/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_02/HelloWorld/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_02/HelloWorld/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_02/HelloWorld/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_02/HelloWorld/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_02/HelloWorld/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_02/HelloWorld/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_02/HelloWorld/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | HelloWorld 3 | 4 | -------------------------------------------------------------------------------- /chapter_02/HelloWorld/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_02/HelloWorld/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_02/HelloWorld/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_03/ActivityLifeCycleTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityLifeCycleTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_03/ActivityLifeCycleTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_03/ActivityLifeCycleTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityLifeCycleTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_03/ActivityLifeCycleTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityLifeCycleTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_03/ActivityLifeCycleTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityLifeCycleTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_03/ActivityLifeCycleTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityLifeCycleTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_03/ActivityLifeCycleTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityLifeCycleTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_03/ActivityLifeCycleTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ActivityLifeCycleTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_03/ActivityLifeCycleTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityLifeCycleTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_03/ActivityLifeCycleTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_03/ActivityTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_03/ActivityTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_03/ActivityTest/app/src/main/java/com/example/activitytest/Helper.kt: -------------------------------------------------------------------------------- 1 | package com.example.activitytest 2 | 3 | fun doSomething() { 4 | println("do something") 5 | } -------------------------------------------------------------------------------- /chapter_03/ActivityTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_03/ActivityTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_03/ActivityTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_03/ActivityTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_03/ActivityTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_03/ActivityTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_03/ActivityTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_03/ActivityTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_03/ActivityTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_03/ActivityTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_03/ActivityTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ActivityTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_03/ActivityTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_03/ActivityTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_03/ActivityTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/java/com/example/listviewtest/Fruit.kt: -------------------------------------------------------------------------------- 1 | package com.example.listviewtest 2 | 3 | class Fruit(val name:String, val imageId: Int) -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/apple_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/apple_pic.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/banana_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/banana_pic.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/cherry_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/cherry_pic.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/grape_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/grape_pic.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/mango_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/mango_pic.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/orange_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/orange_pic.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/pear_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/pear_pic.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/pineapple_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/pineapple_pic.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/strawberry_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/strawberry_pic.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/watermelon_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/drawable-xxhdpi/watermelon_pic.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/ListViewTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ListViewTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_04/ListViewTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/ListViewTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_04/ListViewTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/java/com/example/recyclerviewtest/Fruit.kt: -------------------------------------------------------------------------------- 1 | package com.example.recyclerviewtest 2 | 3 | class Fruit(val name:String, val imageId: Int) -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/apple_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/apple_pic.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/banana_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/banana_pic.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/cherry_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/cherry_pic.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/grape_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/grape_pic.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/mango_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/mango_pic.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/orange_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/orange_pic.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/pear_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/pear_pic.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/pineapple_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/pineapple_pic.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/strawberry_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/strawberry_pic.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/watermelon_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/drawable-xxhdpi/watermelon_pic.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | RecyclerViewTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/RecyclerViewTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_04/RecyclerViewTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_04/UIBestPractice/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIBestPractice/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_04/UIBestPractice/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_04/UIBestPractice/app/src/main/res/drawable-xxhdpi/message_left.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIBestPractice/app/src/main/res/drawable-xxhdpi/message_left.9.png -------------------------------------------------------------------------------- /chapter_04/UIBestPractice/app/src/main/res/drawable-xxhdpi/message_right.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIBestPractice/app/src/main/res/drawable-xxhdpi/message_right.9.png -------------------------------------------------------------------------------- /chapter_04/UIBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UIBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UIBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UIBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UIBestPractice/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIBestPractice/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UIBestPractice/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIBestPractice/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UIBestPractice/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIBestPractice/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UIBestPractice/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIBestPractice/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UIBestPractice/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIBestPractice/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UIBestPractice/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | UIBestPractice 3 | 4 | -------------------------------------------------------------------------------- /chapter_04/UIBestPractice/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIBestPractice/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_04/UIBestPractice/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_04/UICustomViews/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UICustomViews/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_04/UICustomViews/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_04/UICustomViews/app/src/main/res/drawable-xxhdpi/back_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UICustomViews/app/src/main/res/drawable-xxhdpi/back_bg.png -------------------------------------------------------------------------------- /chapter_04/UICustomViews/app/src/main/res/drawable-xxhdpi/edit_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UICustomViews/app/src/main/res/drawable-xxhdpi/edit_bg.png -------------------------------------------------------------------------------- /chapter_04/UICustomViews/app/src/main/res/drawable-xxhdpi/title_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UICustomViews/app/src/main/res/drawable-xxhdpi/title_bg.png -------------------------------------------------------------------------------- /chapter_04/UICustomViews/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UICustomViews/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UICustomViews/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UICustomViews/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UICustomViews/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UICustomViews/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UICustomViews/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UICustomViews/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UICustomViews/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UICustomViews/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UICustomViews/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UICustomViews/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UICustomViews/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UICustomViews/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UICustomViews/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UICustomViews/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UICustomViews/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UICustomViews/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UICustomViews/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | UICustomViews 3 | 4 | -------------------------------------------------------------------------------- /chapter_04/UICustomViews/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UICustomViews/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_04/UICustomViews/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_04/UILayoutTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UILayoutTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_04/UILayoutTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_04/UILayoutTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UILayoutTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UILayoutTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UILayoutTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UILayoutTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UILayoutTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UILayoutTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UILayoutTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UILayoutTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UILayoutTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UILayoutTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UILayoutTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UILayoutTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UILayoutTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UILayoutTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UILayoutTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UILayoutTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UILayoutTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UILayoutTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UILayoutTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UILayoutTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | UILayoutTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_04/UILayoutTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UILayoutTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_04/UILayoutTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIWidgetTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/app/src/main/res/drawable-xxhdpi/img_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIWidgetTest/app/src/main/res/drawable-xxhdpi/img_1.png -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/app/src/main/res/drawable-xxhdpi/img_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIWidgetTest/app/src/main/res/drawable-xxhdpi/img_2.png -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIWidgetTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIWidgetTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIWidgetTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIWidgetTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIWidgetTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIWidgetTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIWidgetTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIWidgetTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIWidgetTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIWidgetTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | UIWidgetTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_04/UIWidgetTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_04/UIWidgetTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_05/FragmentBestPractice/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentBestPractice/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_05/FragmentBestPractice/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_05/FragmentBestPractice/app/src/main/java/com/example/fragmentbestpractice/News.kt: -------------------------------------------------------------------------------- 1 | package com.example.fragmentbestpractice 2 | 3 | class News(val title: String, val content: String) -------------------------------------------------------------------------------- /chapter_05/FragmentBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_05/FragmentBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_05/FragmentBestPractice/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentBestPractice/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_05/FragmentBestPractice/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | FragmentBestPractice 3 | 4 | -------------------------------------------------------------------------------- /chapter_05/FragmentBestPractice/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentBestPractice/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_05/FragmentBestPractice/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_05/FragmentTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_05/FragmentTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_05/FragmentTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_05/FragmentTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_05/FragmentTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_05/FragmentTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_05/FragmentTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_05/FragmentTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_05/FragmentTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_05/FragmentTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_05/FragmentTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_05/FragmentTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_05/FragmentTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | FragmentTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_05/FragmentTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_05/FragmentTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_05/FragmentTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_06/BroadcastBestPractice/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_06/BroadcastBestPractice/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_06/BroadcastBestPractice/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_06/BroadcastBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_06/BroadcastBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_06/BroadcastBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_06/BroadcastBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_06/BroadcastBestPractice/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 4 | -------------------------------------------------------------------------------- /chapter_06/BroadcastBestPractice/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | BroadcastBestPractice 3 | LoginActivity 4 | 5 | -------------------------------------------------------------------------------- /chapter_06/BroadcastBestPractice/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_06/BroadcastBestPractice/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_06/BroadcastBestPractice/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_06/BroadcastTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_06/BroadcastTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_06/BroadcastTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_06/BroadcastTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_06/BroadcastTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_06/BroadcastTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_06/BroadcastTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_06/BroadcastTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_06/BroadcastTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_06/BroadcastTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_06/BroadcastTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_06/BroadcastTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_06/BroadcastTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_06/BroadcastTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_06/BroadcastTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_06/BroadcastTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_06/BroadcastTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_06/BroadcastTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_06/BroadcastTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_06/BroadcastTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_06/BroadcastTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_06/BroadcastTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | BroadcastTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_06/BroadcastTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_06/BroadcastTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_06/BroadcastTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_07/BroadcastBestPractice/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/BroadcastBestPractice/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_07/BroadcastBestPractice/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_07/BroadcastBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/BroadcastBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_07/BroadcastBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/BroadcastBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_07/BroadcastBestPractice/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 4 | -------------------------------------------------------------------------------- /chapter_07/BroadcastBestPractice/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | BroadcastBestPractice 3 | LoginActivity 4 | 5 | -------------------------------------------------------------------------------- /chapter_07/BroadcastBestPractice/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/BroadcastBestPractice/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_07/BroadcastBestPractice/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_07/DatabaseTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/DatabaseTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_07/DatabaseTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_07/DatabaseTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/DatabaseTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_07/DatabaseTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/DatabaseTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_07/DatabaseTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/DatabaseTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_07/DatabaseTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/DatabaseTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_07/DatabaseTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/DatabaseTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_07/DatabaseTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/DatabaseTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_07/DatabaseTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/DatabaseTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_07/DatabaseTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/DatabaseTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_07/DatabaseTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/DatabaseTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_07/DatabaseTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/DatabaseTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_07/DatabaseTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | DatabaseTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_07/DatabaseTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/DatabaseTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_07/DatabaseTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_07/FilePersistenceTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/FilePersistenceTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_07/FilePersistenceTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_07/FilePersistenceTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/FilePersistenceTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_07/FilePersistenceTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/FilePersistenceTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_07/FilePersistenceTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/FilePersistenceTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_07/FilePersistenceTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/FilePersistenceTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_07/FilePersistenceTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | FilePersistenceTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_07/FilePersistenceTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/FilePersistenceTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_07/FilePersistenceTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_07/SharedPreferencesTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/SharedPreferencesTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_07/SharedPreferencesTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_07/SharedPreferencesTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/SharedPreferencesTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_07/SharedPreferencesTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/SharedPreferencesTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_07/SharedPreferencesTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | SharedPreferencesTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_07/SharedPreferencesTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_07/SharedPreferencesTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_07/SharedPreferencesTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_08/ContactsTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ContactsTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_08/ContactsTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_08/ContactsTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ContactsTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/ContactsTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ContactsTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_08/ContactsTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ContactsTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/ContactsTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ContactsTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_08/ContactsTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ContactsTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/ContactsTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ContactsTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_08/ContactsTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ContactsTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/ContactsTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ContactsTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_08/ContactsTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ContactsTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/ContactsTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ContactsTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_08/ContactsTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ContactsTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_08/ContactsTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ContactsTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_08/ContactsTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_08/DatabaseTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/DatabaseTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_08/DatabaseTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_08/DatabaseTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/DatabaseTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/DatabaseTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/DatabaseTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_08/DatabaseTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/DatabaseTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/DatabaseTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/DatabaseTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_08/DatabaseTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/DatabaseTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/DatabaseTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/DatabaseTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_08/DatabaseTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/DatabaseTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/DatabaseTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/DatabaseTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_08/DatabaseTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/DatabaseTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/DatabaseTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/DatabaseTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_08/DatabaseTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | DatabaseTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_08/DatabaseTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/DatabaseTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_08/DatabaseTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_08/ProviderTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ProviderTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_08/ProviderTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_08/ProviderTest/app/src/main/java/com/example/providertest/MyClass.kt: -------------------------------------------------------------------------------- 1 | package com.example.providertest 2 | 3 | class MyClass { 4 | 5 | val p by Delegate() 6 | 7 | } -------------------------------------------------------------------------------- /chapter_08/ProviderTest/app/src/main/java/com/example/providertest/build.kt: -------------------------------------------------------------------------------- 1 | package com.example.providertest 2 | 3 | fun T.build(block: T.() -> Unit): T { 4 | block() 5 | return this 6 | } -------------------------------------------------------------------------------- /chapter_08/ProviderTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ProviderTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/ProviderTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ProviderTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_08/ProviderTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ProviderTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/ProviderTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ProviderTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_08/ProviderTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ProviderTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/ProviderTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ProviderTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_08/ProviderTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ProviderTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/ProviderTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ProviderTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_08/ProviderTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ProviderTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/ProviderTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ProviderTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_08/ProviderTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ProviderTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_08/ProviderTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/ProviderTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_08/ProviderTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_08/RuntimePermissionTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/RuntimePermissionTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_08/RuntimePermissionTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_08/RuntimePermissionTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/RuntimePermissionTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/RuntimePermissionTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/RuntimePermissionTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_08/RuntimePermissionTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | RuntimePermissionTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_08/RuntimePermissionTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_08/RuntimePermissionTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_08/RuntimePermissionTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_09/CameraAlbumTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/CameraAlbumTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_09/CameraAlbumTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_09/CameraAlbumTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/CameraAlbumTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/CameraAlbumTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/CameraAlbumTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_09/CameraAlbumTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/CameraAlbumTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/CameraAlbumTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/CameraAlbumTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_09/CameraAlbumTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/CameraAlbumTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/CameraAlbumTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/CameraAlbumTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/CameraAlbumTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/CameraAlbumTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/CameraAlbumTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | CameraAlbumTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_09/CameraAlbumTest/app/src/main/res/xml/file_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /chapter_09/CameraAlbumTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/CameraAlbumTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_09/CameraAlbumTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_09/NotificationTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/NotificationTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_09/NotificationTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_09/NotificationTest/app/src/main/res/drawable-xxhdpi/big_image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/NotificationTest/app/src/main/res/drawable-xxhdpi/big_image.jpg -------------------------------------------------------------------------------- /chapter_09/NotificationTest/app/src/main/res/drawable-xxhdpi/large_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/NotificationTest/app/src/main/res/drawable-xxhdpi/large_icon.png -------------------------------------------------------------------------------- /chapter_09/NotificationTest/app/src/main/res/drawable-xxhdpi/small_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/NotificationTest/app/src/main/res/drawable-xxhdpi/small_icon.png -------------------------------------------------------------------------------- /chapter_09/NotificationTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/NotificationTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/NotificationTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/NotificationTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/NotificationTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/NotificationTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/NotificationTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/NotificationTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/NotificationTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/NotificationTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/NotificationTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | NotificationTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_09/NotificationTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/NotificationTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_09/NotificationTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_09/PlayAudioTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayAudioTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_09/PlayAudioTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_09/PlayAudioTest/app/src/main/assets/music.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayAudioTest/app/src/main/assets/music.mp3 -------------------------------------------------------------------------------- /chapter_09/PlayAudioTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayAudioTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/PlayAudioTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayAudioTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_09/PlayAudioTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayAudioTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/PlayAudioTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayAudioTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_09/PlayAudioTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayAudioTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/PlayAudioTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayAudioTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_09/PlayAudioTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayAudioTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/PlayAudioTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayAudioTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_09/PlayAudioTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayAudioTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/PlayAudioTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | PlayAudioTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_09/PlayAudioTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayAudioTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_09/PlayAudioTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_09/PlayVideoTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayVideoTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_09/PlayVideoTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /src/test 3 | /src/androidTest 4 | -------------------------------------------------------------------------------- /chapter_09/PlayVideoTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayVideoTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/PlayVideoTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayVideoTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_09/PlayVideoTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayVideoTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/PlayVideoTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayVideoTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_09/PlayVideoTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayVideoTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/PlayVideoTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayVideoTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_09/PlayVideoTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayVideoTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/PlayVideoTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayVideoTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_09/PlayVideoTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayVideoTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_09/PlayVideoTest/app/src/main/res/raw/video.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayVideoTest/app/src/main/res/raw/video.mp4 -------------------------------------------------------------------------------- /chapter_09/PlayVideoTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | PlayVideoTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_09/PlayVideoTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_09/PlayVideoTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_09/PlayVideoTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_10/AndroidThreadTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/AndroidThreadTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_10/AndroidThreadTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_10/AndroidThreadTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/AndroidThreadTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_10/AndroidThreadTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/AndroidThreadTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_10/AndroidThreadTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/AndroidThreadTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_10/AndroidThreadTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/AndroidThreadTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_10/AndroidThreadTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/AndroidThreadTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_10/AndroidThreadTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | AndroidThreadTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_10/AndroidThreadTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/AndroidThreadTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_10/AndroidThreadTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_10/ServiceTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/ServiceTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_10/ServiceTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_10/ServiceTest/app/src/main/res/drawable-xxhdpi/large_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/ServiceTest/app/src/main/res/drawable-xxhdpi/large_icon.png -------------------------------------------------------------------------------- /chapter_10/ServiceTest/app/src/main/res/drawable-xxhdpi/small_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/ServiceTest/app/src/main/res/drawable-xxhdpi/small_icon.png -------------------------------------------------------------------------------- /chapter_10/ServiceTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/ServiceTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_10/ServiceTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/ServiceTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_10/ServiceTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/ServiceTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_10/ServiceTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/ServiceTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_10/ServiceTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/ServiceTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_10/ServiceTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/ServiceTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_10/ServiceTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/ServiceTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_10/ServiceTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/ServiceTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_10/ServiceTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/ServiceTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_10/ServiceTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/ServiceTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_10/ServiceTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ServiceTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_10/ServiceTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_10/ServiceTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_10/ServiceTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_11/NetworkTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/NetworkTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_11/NetworkTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_11/NetworkTest/app/src/main/java/com/example/networktest/App.kt: -------------------------------------------------------------------------------- 1 | package com.example.networktest 2 | 3 | class App(val id: String, val name: String, val version: String) -------------------------------------------------------------------------------- /chapter_11/NetworkTest/app/src/main/java/com/example/networktest/HttpCallbackListener.kt: -------------------------------------------------------------------------------- 1 | package com.example.networktest 2 | 3 | interface HttpCallbackListener { 4 | fun onFinish(response: String) 5 | fun onError(e: Exception) 6 | } -------------------------------------------------------------------------------- /chapter_11/NetworkTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/NetworkTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_11/NetworkTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/NetworkTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_11/NetworkTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/NetworkTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_11/NetworkTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/NetworkTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_11/NetworkTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/NetworkTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_11/NetworkTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/NetworkTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_11/NetworkTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/NetworkTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_11/NetworkTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/NetworkTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_11/NetworkTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/NetworkTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_11/NetworkTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/NetworkTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_11/NetworkTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | NetworkTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_11/NetworkTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/NetworkTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_11/NetworkTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name='NetworkTest' 3 | -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/RetrofitTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/app/src/main/java/com/example/retrofittest/App.kt: -------------------------------------------------------------------------------- 1 | package com.example.retrofittest 2 | 3 | class App(val id: String, val name: String, val version: String) -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/app/src/main/java/com/example/retrofittest/Data.kt: -------------------------------------------------------------------------------- 1 | package com.example.retrofittest 2 | 3 | class Data(val id: String, val content: String) -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/RetrofitTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/RetrofitTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/RetrofitTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/RetrofitTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/RetrofitTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/RetrofitTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/RetrofitTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/RetrofitTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/RetrofitTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/RetrofitTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | RetrofitTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/RetrofitTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_11/RetrofitTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name='RetrofitTest' 3 | -------------------------------------------------------------------------------- /chapter_11/WebViewTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/WebViewTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_11/WebViewTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_11/WebViewTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/WebViewTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_11/WebViewTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/WebViewTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_11/WebViewTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/WebViewTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_11/WebViewTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/WebViewTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_11/WebViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/WebViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_11/WebViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/WebViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_11/WebViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/WebViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_11/WebViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/WebViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_11/WebViewTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/WebViewTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_11/WebViewTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/WebViewTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_11/WebViewTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | WebViewTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_11/WebViewTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_11/WebViewTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_11/WebViewTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name='WebViewTest' 3 | -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/java/com/example/materialtest/Fruit.kt: -------------------------------------------------------------------------------- 1 | package com.example.materialtest 2 | 3 | class Fruit(val name: String, val imageId: Int) -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/._.DS_Store -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/._pear.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/._pear.jpg -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/apple.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/apple.jpg -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/banana.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/banana.jpg -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/cherry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/cherry.jpg -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/grape.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/grape.jpg -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_backup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_backup.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_comment.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_delete.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_done.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_menu.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_settings.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/mango.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/mango.jpg -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_call.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_friends.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_friends.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_icon.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_location.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_mail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_mail.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_task.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_task.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/orange.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/orange.jpg -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/pear.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/pear.jpg -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/pineapple.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/pineapple.jpg -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/strawberry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/strawberry.jpg -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/watermelon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/drawable-xxhdpi/watermelon.jpg -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 4 | -------------------------------------------------------------------------------- /chapter_12/MaterialTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | MaterialTest 3 | Main2Activity 4 | 5 | -------------------------------------------------------------------------------- /chapter_12/MaterialTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_12/MaterialTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_12/MaterialTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name='MaterialTest' 3 | -------------------------------------------------------------------------------- /chapter_13/JetpackTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_13/JetpackTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_13/JetpackTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_13/JetpackTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_13/JetpackTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_13/JetpackTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_13/JetpackTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_13/JetpackTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_13/JetpackTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_13/JetpackTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_13/JetpackTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_13/JetpackTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_13/JetpackTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_13/JetpackTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_13/JetpackTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_13/JetpackTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_13/JetpackTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_13/JetpackTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_13/JetpackTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_13/JetpackTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_13/JetpackTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_13/JetpackTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_13/JetpackTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_13/JetpackTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | JetpackTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_13/JetpackTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_13/JetpackTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_13/JetpackTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name='JetpackTest' 3 | -------------------------------------------------------------------------------- /chapter_14/ActivityTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/ActivityTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_14/ActivityTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_14/ActivityTest/app/src/main/java/com/example/activitytest/Helper.kt: -------------------------------------------------------------------------------- 1 | package com.example.activitytest 2 | 3 | fun doSomething() { 4 | println("do something") 5 | } -------------------------------------------------------------------------------- /chapter_14/ActivityTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/ActivityTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_14/ActivityTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/ActivityTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_14/ActivityTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/ActivityTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_14/ActivityTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/ActivityTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_14/ActivityTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/ActivityTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_14/ActivityTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/ActivityTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_14/ActivityTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/ActivityTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_14/ActivityTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/ActivityTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_14/ActivityTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/ActivityTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_14/ActivityTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/ActivityTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_14/ActivityTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ActivityTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_14/ActivityTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/ActivityTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_14/ActivityTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_14/BroadcastBestPractice/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/BroadcastBestPractice/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_14/BroadcastBestPractice/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_14/BroadcastBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/BroadcastBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_14/BroadcastBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/BroadcastBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_14/BroadcastBestPractice/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 4 | -------------------------------------------------------------------------------- /chapter_14/BroadcastBestPractice/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | BroadcastBestPractice 3 | LoginActivity 4 | 5 | -------------------------------------------------------------------------------- /chapter_14/BroadcastBestPractice/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/BroadcastBestPractice/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_14/BroadcastBestPractice/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/java/com/example/materialtest/Fruit.kt: -------------------------------------------------------------------------------- 1 | package com.example.materialtest 2 | 3 | class Fruit(val name: String, val imageId: Int) -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/._.DS_Store -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/._pear.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/._pear.jpg -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/apple.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/apple.jpg -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/banana.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/banana.jpg -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/cherry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/cherry.jpg -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/grape.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/grape.jpg -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_backup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_backup.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_comment.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_delete.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_done.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_menu.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_settings.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/mango.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/mango.jpg -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_call.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_friends.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_friends.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_icon.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_location.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_mail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_mail.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_task.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_task.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/orange.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/orange.jpg -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/pear.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/pear.jpg -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/pineapple.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/pineapple.jpg -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/strawberry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/strawberry.jpg -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/watermelon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/drawable-xxhdpi/watermelon.jpg -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 4 | -------------------------------------------------------------------------------- /chapter_14/MaterialTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | MaterialTest 3 | Main2Activity 4 | 5 | -------------------------------------------------------------------------------- /chapter_14/MaterialTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_14/MaterialTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_14/MaterialTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name='MaterialTest' 3 | -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/README.md: -------------------------------------------------------------------------------- 1 | # SunnyWeather -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/.DS_Store -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/ic_launcher-web.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/java/com/sunnyweather/android/logic/model/Weather.kt: -------------------------------------------------------------------------------- 1 | package com.sunnyweather.android.logic.model 2 | 3 | class Weather(val realtime: RealtimeResponse.Realtime, val daily: DailyResponse.Daily) -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/bg_clear_day.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/bg_clear_day.jpg -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/bg_clear_night.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/bg_clear_night.jpg -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/bg_cloudy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/bg_cloudy.jpg -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/bg_fog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/bg_fog.jpg -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/bg_place.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/bg_place.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/bg_rain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/bg_rain.jpg -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/bg_snow.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/bg_snow.jpg -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/bg_wind.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/bg_wind.jpg -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_carwashing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_carwashing.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_clear_day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_clear_day.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_clear_night.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_clear_night.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_cloudy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_cloudy.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_coldrisk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_coldrisk.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_dressing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_dressing.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_fog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_fog.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_hail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_hail.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_heavy_haze.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_heavy_haze.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_heavy_rain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_heavy_rain.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_heavy_snow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_heavy_snow.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_home.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_light_haze.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_light_haze.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_light_rain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_light_rain.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_light_snow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_light_snow.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_moderate_haze.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_moderate_haze.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_moderate_rain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_moderate_rain.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_moderate_snow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_moderate_snow.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_sleet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_sleet.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_storm_rain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_storm_rain.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_ultraviolet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/ic_ultraviolet.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/search_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/drawable-xxhdpi/search_bg.9.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #219FDD 4 | -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | SunnyWeather 3 | 4 | -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/logo/sunny_weather_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_15/SunnyWeather/logo/sunny_weather_logo.png -------------------------------------------------------------------------------- /chapter_15/SunnyWeather/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name='SunnyWeather' 3 | -------------------------------------------------------------------------------- /chapter_16/PermissionX/app/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionX/app/.DS_Store -------------------------------------------------------------------------------- /chapter_16/PermissionX/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionX/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_16/PermissionX/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_16/PermissionX/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionX/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_16/PermissionX/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionX/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_16/PermissionX/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionX/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_16/PermissionX/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionX/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_16/PermissionX/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionX/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_16/PermissionX/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionX/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_16/PermissionX/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionX/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_16/PermissionX/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionX/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_16/PermissionX/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionX/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_16/PermissionX/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionX/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_16/PermissionX/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | PermissionX 3 | 4 | -------------------------------------------------------------------------------- /chapter_16/PermissionX/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionX/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_16/PermissionX/library/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_16/PermissionX/library/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionX/library/consumer-rules.pro -------------------------------------------------------------------------------- /chapter_16/PermissionX/library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /chapter_16/PermissionX/library/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Library 3 | 4 | -------------------------------------------------------------------------------- /chapter_16/PermissionX/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':library' 2 | rootProject.name='PermissionX' 3 | -------------------------------------------------------------------------------- /chapter_16/PermissionXTest/app/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionXTest/app/._.DS_Store -------------------------------------------------------------------------------- /chapter_16/PermissionXTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter_16/PermissionXTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionXTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_16/PermissionXTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionXTest/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_16/PermissionXTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionXTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_16/PermissionXTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionXTest/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /chapter_16/PermissionXTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionXTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_16/PermissionXTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionXTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_16/PermissionXTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionXTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter_16/PermissionXTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | PermissionXTest 3 | 4 | -------------------------------------------------------------------------------- /chapter_16/PermissionXTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heshicaihao/AndroidFirstCode_03/47539514825be93899788535f78e7087470a58a8/chapter_16/PermissionXTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter_16/PermissionXTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name='PermissionXTest' 3 | --------------------------------------------------------------------------------