├── README.md ├── chapter1 └── HelloWorld │ ├── .gitignore │ ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── helloworld │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── helloworld │ │ │ │ └── HelloWorldActivity.java │ │ └── res │ │ │ ├── layout │ │ │ └── hello_world_layout.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── helloworld │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter10 ├── AndroidThreadTest │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── androidthreadtest │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── androidthreadtest │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── androidthreadtest │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── ServiceBestPractice │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── servicebestpractice │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── servicebestpractice │ │ │ │ │ ├── DownloadListener.java │ │ │ │ │ ├── DownloadService.java │ │ │ │ │ ├── DownloadTask.java │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── servicebestpractice │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── ServiceTest │ ├── .gitignore │ ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── servicetest │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── servicetest │ │ │ │ ├── MainActivity.java │ │ │ │ ├── MyIntentService.java │ │ │ │ └── MyService.java │ │ └── res │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── servicetest │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter11 └── LBSTest │ ├── .gitignore │ ├── app │ ├── .gitignore │ ├── build.gradle │ ├── libs │ │ └── BaiduLBS_Android.jar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── lbstest │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── lbstest │ │ │ │ └── MainActivity.java │ │ ├── jniLibs │ │ │ ├── arm64-v8a │ │ │ │ ├── libBaiduMapSDK_base_v4_0_0.so │ │ │ │ ├── libBaiduMapSDK_map_v4_0_0.so │ │ │ │ └── liblocSDK6a.so │ │ │ ├── armeabi-v7a │ │ │ │ ├── libBaiduMapSDK_base_v4_0_0.so │ │ │ │ ├── libBaiduMapSDK_map_v4_0_0.so │ │ │ │ └── liblocSDK6a.so │ │ │ ├── armeabi │ │ │ │ ├── libBaiduMapSDK_base_v4_0_0.so │ │ │ │ ├── libBaiduMapSDK_map_v4_0_0.so │ │ │ │ └── liblocSDK6a.so │ │ │ ├── x86 │ │ │ │ ├── libBaiduMapSDK_base_v4_0_0.so │ │ │ │ ├── libBaiduMapSDK_map_v4_0_0.so │ │ │ │ └── liblocSDK6a.so │ │ │ └── x86_64 │ │ │ │ ├── libBaiduMapSDK_base_v4_0_0.so │ │ │ │ ├── libBaiduMapSDK_map_v4_0_0.so │ │ │ │ └── liblocSDK6a.so │ │ └── res │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── lbstest │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter12 └── MaterialTest │ ├── .gitignore │ ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── materialtest │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── materialtest │ │ │ │ ├── Fruit.java │ │ │ │ ├── FruitActivity.java │ │ │ │ ├── FruitAdapter.java │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── drawable-xxhdpi │ │ │ ├── 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.png │ │ │ ├── pineapple.jpg │ │ │ ├── strawberry.jpg │ │ │ └── watermelon.jpg │ │ │ ├── layout │ │ │ ├── activity_fruit.xml │ │ │ ├── activity_main.xml │ │ │ ├── fruit_item.xml │ │ │ └── nav_header.xml │ │ │ ├── menu │ │ │ ├── nav_menu.xml │ │ │ └── toolbar.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-v21 │ │ │ └── styles.xml │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── materialtest │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter14 └── CoolWeather │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── coolweather │ │ │ └── android │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── assets │ │ │ └── litepal.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── coolweather │ │ │ │ └── android │ │ │ │ ├── ChooseAreaFragment.java │ │ │ │ ├── MainActivity.java │ │ │ │ ├── WeatherActivity.java │ │ │ │ ├── db │ │ │ │ ├── City.java │ │ │ │ ├── County.java │ │ │ │ └── Province.java │ │ │ │ ├── gson │ │ │ │ ├── AQI.java │ │ │ │ ├── Basic.java │ │ │ │ ├── Forecast.java │ │ │ │ ├── Now.java │ │ │ │ ├── Suggestion.java │ │ │ │ └── Weather.java │ │ │ │ ├── service │ │ │ │ └── AutoUpdateService.java │ │ │ │ └── util │ │ │ │ ├── HttpUtil.java │ │ │ │ └── Utility.java │ │ └── res │ │ │ ├── drawable-nodpi │ │ │ └── bg.jpg │ │ │ ├── drawable-xxhdpi │ │ │ ├── ic_back.png │ │ │ └── ic_home.png │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ ├── activity_weather.xml │ │ │ ├── aqi.xml │ │ │ ├── choose_area.xml │ │ │ ├── forecast.xml │ │ │ ├── forecast_item.xml │ │ │ ├── now.xml │ │ │ ├── suggestion.xml │ │ │ └── title.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── logo.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── logo.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── logo.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── logo.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── logo.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── coolweather │ │ └── android │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter2 ├── ActivityLifeCycleTest │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── activitylifecycletest │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── activitylifecycletest │ │ │ │ │ ├── DialogActivity.java │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ └── NormalActivity.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ ├── dialog_layout.xml │ │ │ │ └── normal_layout.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── activitylifecycletest │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── ActivityTest │ ├── .gitignore │ ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── activitytest │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── activitytest │ │ │ │ ├── ActivityCollector.java │ │ │ │ ├── BaseActivity.java │ │ │ │ ├── FirstActivity.java │ │ │ │ ├── SecondActivity.java │ │ │ │ └── ThirdActivity.java │ │ └── res │ │ │ ├── layout │ │ │ ├── first_layout.xml │ │ │ ├── second_layout.xml │ │ │ └── third_layout.xml │ │ │ ├── menu │ │ │ └── main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── activitytest │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter3 ├── ListViewTest │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── listviewtest │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── listviewtest │ │ │ │ │ ├── Fruit.java │ │ │ │ │ ├── FruitAdapter.java │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── drawable-hdpi │ │ │ │ ├── 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 │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ └── fruit_item.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── listviewtest │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── RecyclerViewTest │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── recyclerviewtest │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── recyclerviewtest │ │ │ │ │ ├── Fruit.java │ │ │ │ │ ├── FruitAdapter.java │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── drawable-hdpi │ │ │ │ ├── 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 │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ └── fruit_item.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── recyclerviewtest │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── UIBestPractice │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── uibestpractice │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── uibestpractice │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ ├── Msg.java │ │ │ │ │ └── MsgAdapter.java │ │ │ └── res │ │ │ │ ├── drawable-xhdpi │ │ │ │ ├── message_left.9.png │ │ │ │ └── message_right.9.png │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ └── msg_item.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── uibestpractice │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── UICustomViews │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── uicustomviews │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── uicustomviews │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ └── TitleLayout.java │ │ │ └── res │ │ │ │ ├── drawable-xhdpi │ │ │ │ ├── back_bg.png │ │ │ │ ├── edit_bg.png │ │ │ │ └── title_bg.png │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ └── title.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── uicustomviews │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── UILayoutTest │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── uilayouttest │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── uilayouttest │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── uilayouttest │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── UIWidgetTest │ ├── .gitignore │ ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── uiwidgettest │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── uiwidgettest │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── drawable-xhdpi │ │ │ ├── img_1.png │ │ │ └── img_2.png │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── uiwidgettest │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter4 ├── FragmentBestPractice │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── fragmentbestpractice │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── fragmentbestpractice │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ ├── News.java │ │ │ │ │ ├── NewsContentActivity.java │ │ │ │ │ ├── NewsContentFragment.java │ │ │ │ │ └── NewsTitleFragment.java │ │ │ └── res │ │ │ │ ├── layout-sw600dp │ │ │ │ └── activity_main.xml │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ ├── news_content.xml │ │ │ │ ├── news_content_frag.xml │ │ │ │ ├── news_item.xml │ │ │ │ └── news_title_frag.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── fragmentbestpractice │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── FragmentTest │ ├── .gitignore │ ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── fragmenttest │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── fragmenttest │ │ │ │ ├── AnotherRightFragment.java │ │ │ │ ├── LeftFragment.java │ │ │ │ ├── MainActivity.java │ │ │ │ └── RightFragment.java │ │ └── res │ │ │ ├── layout-large │ │ │ └── activity_main.xml │ │ │ ├── layout-sw600dp │ │ │ └── activity_main.xml │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ ├── another_right_fragment.xml │ │ │ ├── left_fragment.xml │ │ │ └── right_fragment.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── fragmenttest │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter5 ├── BroadcastBestPractice │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── broadcastbestpractice │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── broadcastbestpractice │ │ │ │ │ ├── ActivityCollector.java │ │ │ │ │ ├── BaseActivity.java │ │ │ │ │ ├── LoginActivity.java │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ ├── activity_login.xml │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── broadcastbestpractice │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── BroadcastTest │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── broadcasttest │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── broadcasttest │ │ │ │ │ ├── BootCompleteReceiver.java │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ └── MyBroadcastReceiver.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── broadcasttest │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── BroadcastTest2 │ ├── .gitignore │ ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── broadcasttest2 │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── broadcasttest2 │ │ │ │ ├── AnotherBroadcastReceiver.java │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── broadcasttest2 │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter6 ├── BroadcastBestPractice │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── broadcastbestpractice │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── broadcastbestpractice │ │ │ │ │ ├── ActivityCollector.java │ │ │ │ │ ├── BaseActivity.java │ │ │ │ │ ├── LoginActivity.java │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ ├── activity_login.xml │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── broadcastbestpractice │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── DatabaseTest │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── databasetest │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── databasetest │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ └── MyDatabaseHelper.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── databasetest │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── FilePersistenceTest │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── filepersistencetest │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── filepersistencetest │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── filepersistencetest │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── LitePalTest │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── litepaltest │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets │ │ │ │ └── litepal.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── litepaltest │ │ │ │ │ ├── Book.java │ │ │ │ │ ├── Category.java │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── litepaltest │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── SharedPreferencesTest │ ├── .gitignore │ ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── sharedpreferencestest │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── sharedpreferencestest │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── sharedpreferencestest │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter7 ├── ContactsTest │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── contactstest │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── contactstest │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── contactstest │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── DatabaseTest │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── databasetest │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── databasetest │ │ │ │ │ ├── DatabaseProvider.java │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ └── MyDatabaseHelper.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── databasetest │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── ProviderTest │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── providertest │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── RuntimePermissionTest │ ├── .gitignore │ ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── runtimepermissiontest │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── runtimepermissiontest │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── runtimepermissiontest │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter8 ├── CameraAlbumTest │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── cameraalbumtest │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── cameraalbumtest │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ │ └── xml │ │ │ │ └── file_paths.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── cameraalbumtest │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── NotificationTest │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── notificationtest │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── notificationtest │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ └── NotificationActivity.java │ │ │ └── res │ │ │ │ ├── drawable │ │ │ │ └── big_image.jpg │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ └── notification_layout.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── notificationtest │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── PlayAudioTest │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── playaudiotest │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── playaudiotest │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── playaudiotest │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── PlayVideoTest │ ├── .gitignore │ ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── playvideotest │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── playvideotest │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── playvideotest │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── chapter9 ├── NetworkTest │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── networktest │ │ │ │ └── ApplicationTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── networktest │ │ │ │ │ ├── App.java │ │ │ │ │ ├── ContentHandler.java │ │ │ │ │ ├── HttpCallbackListener.java │ │ │ │ │ ├── HttpUtil.java │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── networktest │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── WebViewTest │ ├── .gitignore │ ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── webviewtest │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── webviewtest │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── webviewtest │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── qrcode.jpg /README.md: -------------------------------------------------------------------------------- 1 | # 关注我的微信公众号学习更多技术 2 | 3 | <img src="https://raw.githubusercontent.com/guolindev/booksource/master/qrcode.jpg" width="250" /> 4 | 5 | 如果是对书中源码有疑问,也可以到公众号里给我留言。微信扫一扫上方二维码即可关注。 6 | -------------------------------------------------------------------------------- /chapter1/HelloWorld/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter1/HelloWorld/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter1/HelloWorld/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter1/HelloWorld/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter1/HelloWorld/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter1/HelloWorld/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter1/HelloWorld/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter1/HelloWorld/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter1/HelloWorld/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter1/HelloWorld/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter1/HelloWorld/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter1/HelloWorld/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter1/HelloWorld/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter1/HelloWorld/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter1/HelloWorld/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter1/HelloWorld/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">HelloWorld</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter1/HelloWorld/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | 3 | <!-- Base application theme. --> 4 | <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 5 | <!-- Customize your theme here. --> 6 | <item name="colorPrimary">@color/colorPrimary</item> 7 | <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 8 | <item name="colorAccent">@color/colorAccent</item> 9 | </style> 10 | 11 | </resources> 12 | -------------------------------------------------------------------------------- /chapter1/HelloWorld/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter1/HelloWorld/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter1/HelloWorld/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Dec 28 10:00:20 PST 2015 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter1/HelloWorld/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter10/AndroidThreadTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter10/AndroidThreadTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter10/AndroidThreadTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/AndroidThreadTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter10/AndroidThreadTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/AndroidThreadTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter10/AndroidThreadTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/AndroidThreadTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter10/AndroidThreadTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/AndroidThreadTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter10/AndroidThreadTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/AndroidThreadTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter10/AndroidThreadTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter10/AndroidThreadTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter10/AndroidThreadTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter10/AndroidThreadTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">AndroidThreadTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter10/AndroidThreadTest/app/src/test/java/com/example/androidthreadtest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.androidthreadtest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter10/AndroidThreadTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/AndroidThreadTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter10/AndroidThreadTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 19:21:48 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter10/AndroidThreadTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter10/ServiceBestPractice/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter10/ServiceBestPractice/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter10/ServiceBestPractice/app/src/main/java/com/example/servicebestpractice/DownloadListener.java: -------------------------------------------------------------------------------- 1 | package com.example.servicebestpractice; 2 | 3 | public interface DownloadListener { 4 | 5 | void onProgress(int progress); 6 | 7 | void onSuccess(); 8 | 9 | void onFailed(); 10 | 11 | void onPaused(); 12 | 13 | void onCanceled(); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /chapter10/ServiceBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/ServiceBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter10/ServiceBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/ServiceBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter10/ServiceBestPractice/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/ServiceBestPractice/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter10/ServiceBestPractice/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/ServiceBestPractice/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter10/ServiceBestPractice/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/ServiceBestPractice/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter10/ServiceBestPractice/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter10/ServiceBestPractice/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter10/ServiceBestPractice/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter10/ServiceBestPractice/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">ServiceBestPractice</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter10/ServiceBestPractice/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/ServiceBestPractice/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter10/ServiceBestPractice/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 20:00:17 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter10/ServiceBestPractice/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter10/ServiceTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter10/ServiceTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter10/ServiceTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/ServiceTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter10/ServiceTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/ServiceTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter10/ServiceTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/ServiceTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter10/ServiceTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/ServiceTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter10/ServiceTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/ServiceTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter10/ServiceTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter10/ServiceTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter10/ServiceTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter10/ServiceTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">ServiceTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter10/ServiceTest/app/src/test/java/com/example/servicetest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.servicetest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter10/ServiceTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter10/ServiceTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter10/ServiceTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 19:49:10 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter10/ServiceTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter11/LBSTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter11/LBSTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter11/LBSTest/app/libs/BaiduLBS_Android.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/libs/BaiduLBS_Android.jar -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/jniLibs/arm64-v8a/libBaiduMapSDK_base_v4_0_0.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/jniLibs/arm64-v8a/libBaiduMapSDK_base_v4_0_0.so -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/jniLibs/arm64-v8a/libBaiduMapSDK_map_v4_0_0.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/jniLibs/arm64-v8a/libBaiduMapSDK_map_v4_0_0.so -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/jniLibs/arm64-v8a/liblocSDK6a.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/jniLibs/arm64-v8a/liblocSDK6a.so -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/jniLibs/armeabi-v7a/libBaiduMapSDK_base_v4_0_0.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/jniLibs/armeabi-v7a/libBaiduMapSDK_base_v4_0_0.so -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/jniLibs/armeabi-v7a/libBaiduMapSDK_map_v4_0_0.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/jniLibs/armeabi-v7a/libBaiduMapSDK_map_v4_0_0.so -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/jniLibs/armeabi-v7a/liblocSDK6a.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/jniLibs/armeabi-v7a/liblocSDK6a.so -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/jniLibs/armeabi/libBaiduMapSDK_base_v4_0_0.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/jniLibs/armeabi/libBaiduMapSDK_base_v4_0_0.so -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/jniLibs/armeabi/libBaiduMapSDK_map_v4_0_0.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/jniLibs/armeabi/libBaiduMapSDK_map_v4_0_0.so -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/jniLibs/armeabi/liblocSDK6a.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/jniLibs/armeabi/liblocSDK6a.so -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/jniLibs/x86/libBaiduMapSDK_base_v4_0_0.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/jniLibs/x86/libBaiduMapSDK_base_v4_0_0.so -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/jniLibs/x86/libBaiduMapSDK_map_v4_0_0.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/jniLibs/x86/libBaiduMapSDK_map_v4_0_0.so -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/jniLibs/x86/liblocSDK6a.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/jniLibs/x86/liblocSDK6a.so -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/jniLibs/x86_64/libBaiduMapSDK_base_v4_0_0.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/jniLibs/x86_64/libBaiduMapSDK_base_v4_0_0.so -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/jniLibs/x86_64/libBaiduMapSDK_map_v4_0_0.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/jniLibs/x86_64/libBaiduMapSDK_map_v4_0_0.so -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/jniLibs/x86_64/liblocSDK6a.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/jniLibs/x86_64/liblocSDK6a.so -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">LBSTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | 3 | <!-- Base application theme. --> 4 | <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 5 | <!-- Customize your theme here. --> 6 | <item name="colorPrimary">@color/colorPrimary</item> 7 | <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 8 | <item name="colorAccent">@color/colorAccent</item> 9 | </style> 10 | 11 | </resources> 12 | -------------------------------------------------------------------------------- /chapter11/LBSTest/app/src/test/java/com/example/lbstest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.lbstest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter11/LBSTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter11/LBSTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter11/LBSTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 20:35:19 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter11/LBSTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter12/MaterialTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/apple.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/apple.jpg -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/banana.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/banana.jpg -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/cherry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/cherry.jpg -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/grape.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/grape.jpg -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_backup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_backup.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_comment.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_delete.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_done.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_menu.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/ic_settings.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/mango.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/mango.jpg -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_call.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_friends.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_friends.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_icon.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_location.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_mail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_mail.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_task.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/nav_task.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/orange.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/orange.jpg -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/pear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/pear.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/pineapple.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/pineapple.jpg -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/strawberry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/strawberry.jpg -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/watermelon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/drawable-xxhdpi/watermelon.jpg -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | 4 | <style name="FruitActivityTheme" parent="AppTheme"> 5 | <item name="android:statusBarColor">@android:color/transparent</item> 6 | </style> 7 | 8 | </resources> -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">MaterialTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter12/MaterialTest/app/src/test/java/com/example/materialtest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.materialtest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter12/MaterialTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter12/MaterialTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter12/MaterialTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Oct 03 10:06:04 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter12/MaterialTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter14/CoolWeather/README.md: -------------------------------------------------------------------------------- 1 | 酷欧天气(CoolWeather) 2 | =========== 3 | 酷欧天气是一款基于Android端开源的天气预报软件,具备查看全国的省市县、查询任意城市天气、自由切换城市、手动更新天气、后台自动更新天气等功能。酷欧天气中的天气数据由和风天气提供,背景图片由必应提供,代码遵循Apache v2 License开源协议。本软件主要作为学习和交流使用。 4 | -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/assets/litepal.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <litepal> 3 | 4 | <dbname value="cool_weather" /> 5 | 6 | <version value="1" /> 7 | 8 | <list> 9 | <mapping class="com.coolweather.android.db.Province" /> 10 | <mapping class="com.coolweather.android.db.City" /> 11 | <mapping class="com.coolweather.android.db.County" /> 12 | </list> 13 | 14 | </litepal> -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/java/com/coolweather/android/gson/AQI.java: -------------------------------------------------------------------------------- 1 | package com.coolweather.android.gson; 2 | 3 | public class AQI { 4 | 5 | public AQICity city; 6 | 7 | public class AQICity { 8 | 9 | public String aqi; 10 | 11 | public String pm25; 12 | 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/java/com/coolweather/android/gson/Now.java: -------------------------------------------------------------------------------- 1 | package com.coolweather.android.gson; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public class Now { 6 | 7 | @SerializedName("tmp") 8 | public String temperature; 9 | 10 | @SerializedName("cond") 11 | public More more; 12 | 13 | public class More { 14 | 15 | @SerializedName("txt") 16 | public String info; 17 | 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/drawable-nodpi/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter14/CoolWeather/app/src/main/res/drawable-nodpi/bg.jpg -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/drawable-xxhdpi/ic_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter14/CoolWeather/app/src/main/res/drawable-xxhdpi/ic_back.png -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/drawable-xxhdpi/ic_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter14/CoolWeather/app/src/main/res/drawable-xxhdpi/ic_home.png -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter14/CoolWeather/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/mipmap-hdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter14/CoolWeather/app/src/main/res/mipmap-hdpi/logo.png -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter14/CoolWeather/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/mipmap-mdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter14/CoolWeather/app/src/main/res/mipmap-mdpi/logo.png -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter14/CoolWeather/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/mipmap-xhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter14/CoolWeather/app/src/main/res/mipmap-xhdpi/logo.png -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter14/CoolWeather/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/mipmap-xxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter14/CoolWeather/app/src/main/res/mipmap-xxhdpi/logo.png -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter14/CoolWeather/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/mipmap-xxxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter14/CoolWeather/app/src/main/res/mipmap-xxxhdpi/logo.png -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">酷欧天气</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter14/CoolWeather/app/src/test/java/com/coolweather/android/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.coolweather.android; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter14/CoolWeather/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter14/CoolWeather/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter14/CoolWeather/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 21:29:47 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter14/CoolWeather/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter2/ActivityLifeCycleTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures -------------------------------------------------------------------------------- /chapter2/ActivityLifeCycleTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter2/ActivityLifeCycleTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter2/ActivityLifeCycleTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter2/ActivityLifeCycleTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter2/ActivityLifeCycleTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter2/ActivityLifeCycleTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter2/ActivityLifeCycleTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter2/ActivityLifeCycleTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter2/ActivityLifeCycleTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter2/ActivityLifeCycleTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter2/ActivityLifeCycleTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter2/ActivityLifeCycleTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter2/ActivityLifeCycleTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter2/ActivityLifeCycleTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter2/ActivityLifeCycleTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">ActivityLifeCycleTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter2/ActivityLifeCycleTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter2/ActivityLifeCycleTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter2/ActivityLifeCycleTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 10:20:36 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter2/ActivityLifeCycleTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter2/ActivityTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter2/ActivityTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter2/ActivityTest/app/src/main/res/menu/main.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <menu xmlns:android="http://schemas.android.com/apk/res/android"> 3 | <item 4 | android:id="@+id/add_item" 5 | android:title="Add"/> 6 | <item 7 | android:id="@+id/remove_item" 8 | android:title="Remove"/> 9 | </menu> -------------------------------------------------------------------------------- /chapter2/ActivityTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter2/ActivityTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter2/ActivityTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter2/ActivityTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter2/ActivityTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter2/ActivityTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter2/ActivityTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter2/ActivityTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter2/ActivityTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter2/ActivityTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter2/ActivityTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter2/ActivityTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter2/ActivityTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter2/ActivityTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">ActivityTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter2/ActivityTest/app/src/test/java/com/example/activitytest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.activitytest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter2/ActivityTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter2/ActivityTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter2/ActivityTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 09:24:09 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter2/ActivityTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter3/ListViewTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/drawable-hdpi/apple_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/ListViewTest/app/src/main/res/drawable-hdpi/apple_pic.png -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/drawable-hdpi/banana_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/ListViewTest/app/src/main/res/drawable-hdpi/banana_pic.png -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/drawable-hdpi/cherry_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/ListViewTest/app/src/main/res/drawable-hdpi/cherry_pic.png -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/drawable-hdpi/grape_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/ListViewTest/app/src/main/res/drawable-hdpi/grape_pic.png -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/drawable-hdpi/mango_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/ListViewTest/app/src/main/res/drawable-hdpi/mango_pic.png -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/drawable-hdpi/orange_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/ListViewTest/app/src/main/res/drawable-hdpi/orange_pic.png -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/drawable-hdpi/pear_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/ListViewTest/app/src/main/res/drawable-hdpi/pear_pic.png -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/drawable-hdpi/pineapple_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/ListViewTest/app/src/main/res/drawable-hdpi/pineapple_pic.png -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/drawable-hdpi/strawberry_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/ListViewTest/app/src/main/res/drawable-hdpi/strawberry_pic.png -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/drawable-hdpi/watermelon_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/ListViewTest/app/src/main/res/drawable-hdpi/watermelon_pic.png -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/ListViewTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/ListViewTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/ListViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/ListViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/ListViewTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">ListViewTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter3/ListViewTest/app/src/test/java/com/example/listviewtest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.listviewtest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter3/ListViewTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/ListViewTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter3/ListViewTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 16:04:22 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter3/ListViewTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/apple_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/apple_pic.png -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/banana_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/banana_pic.png -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/cherry_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/cherry_pic.png -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/grape_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/grape_pic.png -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/mango_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/mango_pic.png -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/orange_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/orange_pic.png -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/pear_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/pear_pic.png -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/pineapple_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/pineapple_pic.png -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/strawberry_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/strawberry_pic.png -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/watermelon_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/RecyclerViewTest/app/src/main/res/drawable-hdpi/watermelon_pic.png -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/RecyclerViewTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/RecyclerViewTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/RecyclerViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/RecyclerViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/RecyclerViewTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">RecyclerViewTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/app/src/test/java/com/example/recyclerviewtest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.recyclerviewtest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/RecyclerViewTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 16:43:56 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter3/RecyclerViewTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter3/UIBestPractice/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter3/UIBestPractice/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter3/UIBestPractice/app/src/main/res/drawable-xhdpi/message_left.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UIBestPractice/app/src/main/res/drawable-xhdpi/message_left.9.png -------------------------------------------------------------------------------- /chapter3/UIBestPractice/app/src/main/res/drawable-xhdpi/message_right.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UIBestPractice/app/src/main/res/drawable-xhdpi/message_right.9.png -------------------------------------------------------------------------------- /chapter3/UIBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UIBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UIBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UIBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UIBestPractice/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UIBestPractice/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UIBestPractice/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UIBestPractice/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UIBestPractice/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UIBestPractice/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UIBestPractice/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter3/UIBestPractice/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter3/UIBestPractice/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter3/UIBestPractice/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">UIBestPractice</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter3/UIBestPractice/app/src/test/java/com/example/uibestpractice/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.uibestpractice; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter3/UIBestPractice/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UIBestPractice/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter3/UIBestPractice/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 16:51:43 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter3/UIBestPractice/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter3/UICustomViews/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter3/UICustomViews/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter3/UICustomViews/app/src/main/res/drawable-xhdpi/back_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UICustomViews/app/src/main/res/drawable-xhdpi/back_bg.png -------------------------------------------------------------------------------- /chapter3/UICustomViews/app/src/main/res/drawable-xhdpi/edit_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UICustomViews/app/src/main/res/drawable-xhdpi/edit_bg.png -------------------------------------------------------------------------------- /chapter3/UICustomViews/app/src/main/res/drawable-xhdpi/title_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UICustomViews/app/src/main/res/drawable-xhdpi/title_bg.png -------------------------------------------------------------------------------- /chapter3/UICustomViews/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 | android:layout_width="match_parent" 4 | android:layout_height="match_parent" > 5 | 6 | <com.example.uicustomviews.TitleLayout 7 | android:layout_width="match_parent" 8 | android:layout_height="wrap_content" /> 9 | 10 | 11 | </LinearLayout> -------------------------------------------------------------------------------- /chapter3/UICustomViews/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UICustomViews/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UICustomViews/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UICustomViews/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UICustomViews/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UICustomViews/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UICustomViews/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UICustomViews/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UICustomViews/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UICustomViews/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UICustomViews/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter3/UICustomViews/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter3/UICustomViews/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter3/UICustomViews/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">UICustomViews</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter3/UICustomViews/app/src/test/java/com/example/uicustomviews/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.uicustomviews; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter3/UICustomViews/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UICustomViews/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter3/UICustomViews/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 16:42:24 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter3/UICustomViews/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter3/UILayoutTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter3/UILayoutTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter3/UILayoutTest/app/src/main/java/com/example/uilayouttest/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.uilayouttest; 2 | 3 | import android.support.v7.app.AppCompatActivity; 4 | import android.os.Bundle; 5 | 6 | public class MainActivity extends AppCompatActivity { 7 | 8 | @Override 9 | protected void onCreate(Bundle savedInstanceState) { 10 | super.onCreate(savedInstanceState); 11 | setContentView(R.layout.activity_main); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /chapter3/UILayoutTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UILayoutTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UILayoutTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UILayoutTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UILayoutTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UILayoutTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UILayoutTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UILayoutTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UILayoutTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UILayoutTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UILayoutTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter3/UILayoutTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter3/UILayoutTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter3/UILayoutTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">UILayoutTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter3/UILayoutTest/app/src/test/java/com/example/uilayouttest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.uilayouttest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter3/UILayoutTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UILayoutTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter3/UILayoutTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 15:27:59 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter3/UILayoutTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/app/src/main/res/drawable-xhdpi/img_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UIWidgetTest/app/src/main/res/drawable-xhdpi/img_1.png -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/app/src/main/res/drawable-xhdpi/img_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UIWidgetTest/app/src/main/res/drawable-xhdpi/img_2.png -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UIWidgetTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UIWidgetTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UIWidgetTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UIWidgetTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UIWidgetTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">UIWidgetTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/app/src/test/java/com/example/uiwidgettest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.uiwidgettest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter3/UIWidgetTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 10:54:27 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter3/UIWidgetTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter4/FragmentBestPractice/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter4/FragmentBestPractice/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter4/FragmentBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter4/FragmentBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter4/FragmentBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter4/FragmentBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter4/FragmentBestPractice/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter4/FragmentBestPractice/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter4/FragmentBestPractice/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter4/FragmentBestPractice/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter4/FragmentBestPractice/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter4/FragmentBestPractice/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter4/FragmentBestPractice/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter4/FragmentBestPractice/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter4/FragmentBestPractice/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter4/FragmentBestPractice/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">FragmentBestPractice</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter4/FragmentBestPractice/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter4/FragmentBestPractice/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter4/FragmentBestPractice/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Oct 04 08:38:40 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter4/FragmentBestPractice/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter4/FragmentTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter4/FragmentTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter4/FragmentTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter4/FragmentTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter4/FragmentTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter4/FragmentTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter4/FragmentTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter4/FragmentTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter4/FragmentTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter4/FragmentTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter4/FragmentTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter4/FragmentTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter4/FragmentTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter4/FragmentTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter4/FragmentTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter4/FragmentTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">FragmentTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter4/FragmentTest/app/src/test/java/com/example/fragmenttest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.fragmenttest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter4/FragmentTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter4/FragmentTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter4/FragmentTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Oct 04 08:37:04 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter4/FragmentTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter5/BroadcastBestPractice/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter5/BroadcastBestPractice/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter5/BroadcastBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter5/BroadcastBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter5/BroadcastBestPractice/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastBestPractice/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter5/BroadcastBestPractice/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastBestPractice/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter5/BroadcastBestPractice/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastBestPractice/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter5/BroadcastBestPractice/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter5/BroadcastBestPractice/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter5/BroadcastBestPractice/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter5/BroadcastBestPractice/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">BroadcastBestPractice</string> 3 | <string name="login">Login Again</string> 4 | </resources> 5 | -------------------------------------------------------------------------------- /chapter5/BroadcastBestPractice/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastBestPractice/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter5/BroadcastBestPractice/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 23:02:50 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter5/BroadcastBestPractice/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter5/BroadcastTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter5/BroadcastTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter5/BroadcastTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter5/BroadcastTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter5/BroadcastTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter5/BroadcastTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter5/BroadcastTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter5/BroadcastTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter5/BroadcastTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter5/BroadcastTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter5/BroadcastTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">BroadcastTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter5/BroadcastTest/app/src/test/java/com/example/broadcasttest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.broadcasttest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter5/BroadcastTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter5/BroadcastTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 22:21:29 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter5/BroadcastTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter5/BroadcastTest2/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter5/BroadcastTest2/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter5/BroadcastTest2/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastTest2/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter5/BroadcastTest2/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastTest2/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter5/BroadcastTest2/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastTest2/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter5/BroadcastTest2/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastTest2/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter5/BroadcastTest2/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastTest2/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter5/BroadcastTest2/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter5/BroadcastTest2/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter5/BroadcastTest2/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter5/BroadcastTest2/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">BroadcastTest2</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter5/BroadcastTest2/app/src/test/java/com/example/broadcasttest2/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.broadcasttest2; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter5/BroadcastTest2/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter5/BroadcastTest2/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter5/BroadcastTest2/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 23:01:32 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter5/BroadcastTest2/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter6/BroadcastBestPractice/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter6/BroadcastBestPractice/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter6/BroadcastBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/BroadcastBestPractice/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/BroadcastBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/BroadcastBestPractice/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/BroadcastBestPractice/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/BroadcastBestPractice/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/BroadcastBestPractice/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/BroadcastBestPractice/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/BroadcastBestPractice/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/BroadcastBestPractice/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/BroadcastBestPractice/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter6/BroadcastBestPractice/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter6/BroadcastBestPractice/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter6/BroadcastBestPractice/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">BroadcastBestPractice</string> 3 | <string name="login">Login Again</string> 4 | </resources> 5 | -------------------------------------------------------------------------------- /chapter6/BroadcastBestPractice/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/BroadcastBestPractice/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter6/BroadcastBestPractice/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 17:18:32 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter6/BroadcastBestPractice/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter6/DatabaseTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter6/DatabaseTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter6/DatabaseTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/DatabaseTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/DatabaseTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/DatabaseTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/DatabaseTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/DatabaseTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/DatabaseTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/DatabaseTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/DatabaseTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/DatabaseTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/DatabaseTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter6/DatabaseTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter6/DatabaseTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter6/DatabaseTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">DatabaseTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter6/DatabaseTest/app/src/test/java/com/example/databasetest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.databasetest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter6/DatabaseTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/DatabaseTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter6/DatabaseTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 17:21:35 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter6/DatabaseTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter6/FilePersistenceTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter6/FilePersistenceTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter6/FilePersistenceTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/FilePersistenceTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/FilePersistenceTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/FilePersistenceTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/FilePersistenceTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/FilePersistenceTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/FilePersistenceTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/FilePersistenceTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/FilePersistenceTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/FilePersistenceTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/FilePersistenceTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter6/FilePersistenceTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter6/FilePersistenceTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter6/FilePersistenceTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">FilePersistenceTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter6/FilePersistenceTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/FilePersistenceTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter6/FilePersistenceTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 17:11:33 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter6/FilePersistenceTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter6/LitePalTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter6/LitePalTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter6/LitePalTest/app/src/main/assets/litepal.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <litepal> 3 | <dbname value="BookStore" ></dbname> 4 | 5 | <version value="2" ></version> 6 | 7 | <list> 8 | <mapping class="com.example.litepaltest.Book"></mapping> 9 | <mapping class="com.example.litepaltest.Category"></mapping> 10 | </list> 11 | </litepal> -------------------------------------------------------------------------------- /chapter6/LitePalTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/LitePalTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/LitePalTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/LitePalTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/LitePalTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/LitePalTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/LitePalTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/LitePalTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/LitePalTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/LitePalTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/LitePalTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter6/LitePalTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter6/LitePalTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter6/LitePalTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">LitePalTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter6/LitePalTest/app/src/test/java/com/example/litepaltest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.litepaltest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter6/LitePalTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/LitePalTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter6/LitePalTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 17:27:08 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter6/LitePalTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter6/SharedPreferencesTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter6/SharedPreferencesTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter6/SharedPreferencesTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/SharedPreferencesTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/SharedPreferencesTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/SharedPreferencesTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/SharedPreferencesTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/SharedPreferencesTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/SharedPreferencesTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/SharedPreferencesTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/SharedPreferencesTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/SharedPreferencesTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter6/SharedPreferencesTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter6/SharedPreferencesTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter6/SharedPreferencesTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter6/SharedPreferencesTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">SharedPreferencesTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter6/SharedPreferencesTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter6/SharedPreferencesTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter6/SharedPreferencesTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 17:13:34 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter6/SharedPreferencesTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter7/ContactsTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter7/ContactsTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter7/ContactsTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/ContactsTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/ContactsTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/ContactsTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/ContactsTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/ContactsTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/ContactsTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/ContactsTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/ContactsTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/ContactsTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/ContactsTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter7/ContactsTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter7/ContactsTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter7/ContactsTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">ContactsTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter7/ContactsTest/app/src/test/java/com/example/contactstest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.contactstest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter7/ContactsTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/ContactsTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter7/ContactsTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 17:41:53 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter7/ContactsTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter7/DatabaseTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter7/DatabaseTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter7/DatabaseTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/DatabaseTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/DatabaseTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/DatabaseTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/DatabaseTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/DatabaseTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/DatabaseTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/DatabaseTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/DatabaseTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/DatabaseTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/DatabaseTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter7/DatabaseTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter7/DatabaseTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter7/DatabaseTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">DatabaseTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter7/DatabaseTest/app/src/test/java/com/example/databasetest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.databasetest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter7/DatabaseTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/DatabaseTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter7/DatabaseTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 17:47:10 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter7/DatabaseTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter7/ProviderTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter7/ProviderTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /src/test 3 | /src/androidTest -------------------------------------------------------------------------------- /chapter7/ProviderTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/ProviderTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/ProviderTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/ProviderTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/ProviderTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/ProviderTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/ProviderTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/ProviderTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/ProviderTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/ProviderTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/ProviderTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter7/ProviderTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter7/ProviderTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter7/ProviderTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">ProviderTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter7/ProviderTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/ProviderTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter7/ProviderTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 17:44:26 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter7/ProviderTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter7/RuntimePermissionTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter7/RuntimePermissionTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter7/RuntimePermissionTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/RuntimePermissionTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/RuntimePermissionTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/RuntimePermissionTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/RuntimePermissionTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/RuntimePermissionTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/RuntimePermissionTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/RuntimePermissionTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/RuntimePermissionTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/RuntimePermissionTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter7/RuntimePermissionTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter7/RuntimePermissionTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter7/RuntimePermissionTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter7/RuntimePermissionTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">RuntimePermissionTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter7/RuntimePermissionTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter7/RuntimePermissionTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter7/RuntimePermissionTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 17:40:22 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter7/RuntimePermissionTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter8/CameraAlbumTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter8/CameraAlbumTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter8/CameraAlbumTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/CameraAlbumTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/CameraAlbumTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/CameraAlbumTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/CameraAlbumTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/CameraAlbumTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/CameraAlbumTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/CameraAlbumTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/CameraAlbumTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/CameraAlbumTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/CameraAlbumTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter8/CameraAlbumTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter8/CameraAlbumTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter8/CameraAlbumTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">CameraAlbumTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter8/CameraAlbumTest/app/src/main/res/xml/file_paths.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <paths xmlns:android="http://schemas.android.com/apk/res/android"> 3 | <external-path name="my_images" path="" /> 4 | </paths> -------------------------------------------------------------------------------- /chapter8/CameraAlbumTest/app/src/test/java/com/example/cameraalbumtest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.cameraalbumtest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter8/CameraAlbumTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/CameraAlbumTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter8/CameraAlbumTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Oct 03 11:48:54 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter8/CameraAlbumTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter8/NotificationTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter8/NotificationTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter8/NotificationTest/app/src/main/res/drawable/big_image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/NotificationTest/app/src/main/res/drawable/big_image.jpg -------------------------------------------------------------------------------- /chapter8/NotificationTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/NotificationTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/NotificationTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/NotificationTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/NotificationTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/NotificationTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/NotificationTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/NotificationTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/NotificationTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/NotificationTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/NotificationTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter8/NotificationTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter8/NotificationTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter8/NotificationTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">NotificationTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter8/NotificationTest/app/src/test/java/com/example/notificationtest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.notificationtest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter8/NotificationTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/NotificationTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter8/NotificationTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Oct 03 11:20:14 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter8/NotificationTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter8/PlayAudioTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter8/PlayAudioTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter8/PlayAudioTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/PlayAudioTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/PlayAudioTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/PlayAudioTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/PlayAudioTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/PlayAudioTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/PlayAudioTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/PlayAudioTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/PlayAudioTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/PlayAudioTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/PlayAudioTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter8/PlayAudioTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter8/PlayAudioTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter8/PlayAudioTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">PlayAudioTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter8/PlayAudioTest/app/src/test/java/com/example/playaudiotest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.playaudiotest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter8/PlayAudioTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/PlayAudioTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter8/PlayAudioTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Oct 03 11:54:43 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter8/PlayAudioTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter8/PlayVideoTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter8/PlayVideoTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter8/PlayVideoTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/PlayVideoTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/PlayVideoTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/PlayVideoTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/PlayVideoTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/PlayVideoTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/PlayVideoTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/PlayVideoTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/PlayVideoTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/PlayVideoTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter8/PlayVideoTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter8/PlayVideoTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter8/PlayVideoTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter8/PlayVideoTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">PlayVideoTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter8/PlayVideoTest/app/src/test/java/com/example/playvideotest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.playvideotest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter8/PlayVideoTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter8/PlayVideoTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter8/PlayVideoTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Oct 03 11:58:19 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter8/PlayVideoTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter9/NetworkTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter9/NetworkTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter9/NetworkTest/app/src/main/java/com/example/networktest/HttpCallbackListener.java: -------------------------------------------------------------------------------- 1 | package com.example.networktest; 2 | 3 | public interface HttpCallbackListener { 4 | 5 | void onFinish(String response); 6 | 7 | void onError(Exception e); 8 | 9 | } -------------------------------------------------------------------------------- /chapter9/NetworkTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter9/NetworkTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter9/NetworkTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter9/NetworkTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter9/NetworkTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter9/NetworkTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter9/NetworkTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter9/NetworkTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter9/NetworkTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter9/NetworkTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter9/NetworkTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter9/NetworkTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter9/NetworkTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter9/NetworkTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">NetworkTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter9/NetworkTest/app/src/test/java/com/example/networktest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.networktest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter9/NetworkTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter9/NetworkTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter9/NetworkTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 17:56:52 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter9/NetworkTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /chapter9/WebViewTest/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /chapter9/WebViewTest/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /chapter9/WebViewTest/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 | android:layout_width="match_parent" 4 | android:layout_height="match_parent" > 5 | 6 | <WebView 7 | android:id="@+id/web_view" 8 | android:layout_width="match_parent" 9 | android:layout_height="match_parent" /> 10 | 11 | </LinearLayout> -------------------------------------------------------------------------------- /chapter9/WebViewTest/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter9/WebViewTest/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter9/WebViewTest/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter9/WebViewTest/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter9/WebViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter9/WebViewTest/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter9/WebViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter9/WebViewTest/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter9/WebViewTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter9/WebViewTest/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /chapter9/WebViewTest/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Example customization of dimensions originally defined in res/values/dimens.xml 3 | (such as screen margins) for screens with more than 820dp of available width. This 4 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> 5 | <dimen name="activity_horizontal_margin">64dp</dimen> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter9/WebViewTest/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <resources> 3 | <color name="colorPrimary">#3F51B5</color> 4 | <color name="colorPrimaryDark">#303F9F</color> 5 | <color name="colorAccent">#FF4081</color> 6 | </resources> 7 | -------------------------------------------------------------------------------- /chapter9/WebViewTest/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <!-- Default screen margins, per the Android Design guidelines. --> 3 | <dimen name="activity_horizontal_margin">16dp</dimen> 4 | <dimen name="activity_vertical_margin">16dp</dimen> 5 | </resources> 6 | -------------------------------------------------------------------------------- /chapter9/WebViewTest/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <string name="app_name">WebViewTest</string> 3 | </resources> 4 | -------------------------------------------------------------------------------- /chapter9/WebViewTest/app/src/test/java/com/example/webviewtest/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.webviewtest; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /chapter9/WebViewTest/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/chapter9/WebViewTest/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chapter9/WebViewTest/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 02 17:50:40 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /chapter9/WebViewTest/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /qrcode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guolindev/booksource/e61f533816111c8899b2009a49b322e63cabbfd5/qrcode.jpg --------------------------------------------------------------------------------