From 4818c1ad93d7460df5855dc76f5fb15504a43d36 Mon Sep 17 00:00:00 2001 From: LvJia <2239513247@qq.com> Date: Thu, 1 Jun 2023 21:15:38 +0800 Subject: [PATCH] Final --- .gitignore | 85 ++++++ LICENSE | 201 +++++++++++++ README.md | 2 + app/.gitignore | 1 + app/build.gradle | 49 ++++ app/libs/litepal-1.4.1.jar | Bin 0 -> 116906 bytes app/proguard-rules.pro | 21 ++ .../weather/ExampleInstrumentedTest.java | 26 ++ app/src/main/AndroidManifest.xml | 35 +++ app/src/main/assets/litepal.xml | 10 + .../flameking/weather/ChooseAreaFragment.java | 268 ++++++++++++++++++ .../flameking/weather/MainActivity.java | 23 ++ .../flameking/weather/WeatherActivity.java | 251 ++++++++++++++++ .../flameking/weather/WeatherIconEnum.java | 37 +++ .../casflawed/flameking/weather/db/City.java | 52 ++++ .../flameking/weather/db/County.java | 52 ++++ .../flameking/weather/db/Province.java | 42 +++ .../casflawed/flameking/weather/gson/AQI.java | 33 +++ .../flameking/weather/gson/Basic.java | 47 +++ .../flameking/weather/gson/Forecast.java | 67 +++++ .../casflawed/flameking/weather/gson/Now.java | 37 +++ .../flameking/weather/gson/Suggestion.java | 71 +++++ .../flameking/weather/gson/Weather.java | 63 ++++ .../weather/service/AutoUpdateService.java | 97 +++++++ .../flameking/weather/util/HttpUtil.java | 16 ++ .../flameking/weather/util/Utility.java | 106 +++++++ .../drawable-v24/ic_launcher_foreground.xml | 30 ++ app/src/main/res/drawable/ic_back.png | Bin 0 -> 191 bytes app/src/main/res/drawable/ic_home.png | Bin 0 -> 310 bytes .../res/drawable/ic_launcher_background.xml | 170 +++++++++++ app/src/main/res/drawable/weather_100.png | Bin 0 -> 7398 bytes app/src/main/res/drawable/weather_101.png | Bin 0 -> 6597 bytes app/src/main/res/drawable/weather_104.png | Bin 0 -> 5364 bytes app/src/main/res/drawable/weather_300.png | Bin 0 -> 9855 bytes app/src/main/res/drawable/weather_302.png | Bin 0 -> 8969 bytes app/src/main/res/drawable/weather_305.png | Bin 0 -> 8754 bytes app/src/main/res/drawable/weather_306.png | Bin 0 -> 9614 bytes app/src/main/res/drawable/weather_307.png | Bin 0 -> 9268 bytes app/src/main/res/layout/activity_main.xml | 21 ++ app/src/main/res/layout/activity_weather.xml | 76 +++++ app/src/main/res/layout/aqi.xml | 77 +++++ app/src/main/res/layout/choose_area.xml | 42 +++ app/src/main/res/layout/forecast.xml | 26 ++ app/src/main/res/layout/forecast_item.xml | 48 ++++ app/src/main/res/layout/now.xml | 26 ++ app/src/main/res/layout/suggestion.xml | 39 +++ app/src/main/res/layout/title.xml | 33 +++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + app/src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes app/src/main/res/mipmap-hdpi/logo.png | Bin 0 -> 42637 bytes app/src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes app/src/main/res/mipmap-mdpi/logo.png | Bin 0 -> 42637 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes app/src/main/res/mipmap-xhdpi/logo.png | Bin 0 -> 42637 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes app/src/main/res/mipmap-xxhdpi/logo.png | Bin 0 -> 42637 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes app/src/main/res/mipmap-xxxhdpi/logo.png | Bin 0 -> 42637 bytes app/src/main/res/values-night/themes.xml | 16 ++ app/src/main/res/values/colors.xml | 13 + app/src/main/res/values/strings.xml | 3 + app/src/main/res/values/style.xml | 11 + app/src/main/res/values/themes.xml | 16 ++ .../main/res/xml/network_security_config.xml | 4 + .../flameking/weather/ExampleUnitTest.java | 17 ++ build.gradle | 9 + gradle.properties | 22 ++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 185 ++++++++++++ gradlew.bat | 89 ++++++ settings.gradle | 16 ++ weather_icon.txt | 8 + 79 files changed, 2705 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 app/.gitignore create mode 100644 app/build.gradle create mode 100644 app/libs/litepal-1.4.1.jar create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/casflawed/flameking/weather/ExampleInstrumentedTest.java create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/assets/litepal.xml create mode 100644 app/src/main/java/com/casflawed/flameking/weather/ChooseAreaFragment.java create mode 100644 app/src/main/java/com/casflawed/flameking/weather/MainActivity.java create mode 100644 app/src/main/java/com/casflawed/flameking/weather/WeatherActivity.java create mode 100644 app/src/main/java/com/casflawed/flameking/weather/WeatherIconEnum.java create mode 100644 app/src/main/java/com/casflawed/flameking/weather/db/City.java create mode 100644 app/src/main/java/com/casflawed/flameking/weather/db/County.java create mode 100644 app/src/main/java/com/casflawed/flameking/weather/db/Province.java create mode 100644 app/src/main/java/com/casflawed/flameking/weather/gson/AQI.java create mode 100644 app/src/main/java/com/casflawed/flameking/weather/gson/Basic.java create mode 100644 app/src/main/java/com/casflawed/flameking/weather/gson/Forecast.java create mode 100644 app/src/main/java/com/casflawed/flameking/weather/gson/Now.java create mode 100644 app/src/main/java/com/casflawed/flameking/weather/gson/Suggestion.java create mode 100644 app/src/main/java/com/casflawed/flameking/weather/gson/Weather.java create mode 100644 app/src/main/java/com/casflawed/flameking/weather/service/AutoUpdateService.java create mode 100644 app/src/main/java/com/casflawed/flameking/weather/util/HttpUtil.java create mode 100644 app/src/main/java/com/casflawed/flameking/weather/util/Utility.java create mode 100644 app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/ic_back.png create mode 100644 app/src/main/res/drawable/ic_home.png create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/drawable/weather_100.png create mode 100644 app/src/main/res/drawable/weather_101.png create mode 100644 app/src/main/res/drawable/weather_104.png create mode 100644 app/src/main/res/drawable/weather_300.png create mode 100644 app/src/main/res/drawable/weather_302.png create mode 100644 app/src/main/res/drawable/weather_305.png create mode 100644 app/src/main/res/drawable/weather_306.png create mode 100644 app/src/main/res/drawable/weather_307.png create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/activity_weather.xml create mode 100644 app/src/main/res/layout/aqi.xml create mode 100644 app/src/main/res/layout/choose_area.xml create mode 100644 app/src/main/res/layout/forecast.xml create mode 100644 app/src/main/res/layout/forecast_item.xml create mode 100644 app/src/main/res/layout/now.xml create mode 100644 app/src/main/res/layout/suggestion.xml create mode 100644 app/src/main/res/layout/title.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-hdpi/logo.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-mdpi/logo.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xhdpi/logo.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/logo.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/logo.png create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/style.xml create mode 100644 app/src/main/res/values/themes.xml create mode 100644 app/src/main/res/xml/network_security_config.xml create mode 100644 app/src/test/java/com/casflawed/flameking/weather/ExampleUnitTest.java create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle create mode 100644 weather_icon.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..56cc642 --- /dev/null +++ b/.gitignore @@ -0,0 +1,85 @@ +# Built application files +*.apk +*.aar +*.ap_ +*.aab + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ +# Uncomment the following line in case you need and you don't have the release build type files in your app +# release/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ +*.iml +.idea/workspace.xml +.idea/tasks.xml +.idea/gradle.xml +.idea/assetWizardSettings.xml +.idea/dictionaries +.idea/libraries +# Android Studio 3 in .gitignore file. +.idea/caches +.idea/modules.xml +# Comment next line if keeping position of elements in Navigation Editor is relevant for you +.idea/navEditor.xml + +# Keystore files +# Uncomment the following lines if you do not want to check your keystore files in. +#*.jks +#*.keystore + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild +.cxx/ + +# Google Services (e.g. APIs or Firebase) +# google-services.json + +# Freeline +freeline.py +freeline/ +freeline_project_description.json + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md + +# Version control +vcs.xml + +# lint +lint/intermediates/ +lint/generated/ +lint/outputs/ +lint/tmp/ +# lint/reports/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 0000000..c4134a4 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# FlamekingWeather +Android 天气预报App diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..74c0195 --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,49 @@ +plugins { + id 'com.android.application' +} + +android { + compileSdk 32 + + defaultConfig { + applicationId "com.casflawed.flameking.weather" + minSdk 16 + targetSdk 32 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +dependencies { + implementation fileTree(dir: 'libs', includes: ['*.jar']) + testImplementation 'junit:junit:4.13.2' + // litepal用于对数据库操作,类似JPA +// implementation 'org.litepal.guolindev:core:3.2.3' + // okhttp用于网络请求 + implementation 'com.squareup.okhttp3:okhttp:3.4.1' + // gson用于解析json数据 + implementation 'com.google.code.gson:gson:2.7' + // glide用于加载和显示图片 + implementation 'com.github.bumptech.glide:glide:3.7.0' + // 下拉刷新 + implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0" + implementation 'androidx.appcompat:appcompat:1.3.0' + implementation 'com.google.android.material:material:1.4.0' + implementation 'androidx.constraintlayout:constraintlayout:2.0.4' + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' +} \ No newline at end of file diff --git a/app/libs/litepal-1.4.1.jar b/app/libs/litepal-1.4.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..01a4a49c30089e838ef23fd67fa21cb8c9086622 GIT binary patch literal 116906 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 GL;OE7Hg@y? literal 0 HcmV?d00001 diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app/src/androidTest/java/com/casflawed/flameking/weather/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/casflawed/flameking/weather/ExampleInstrumentedTest.java new file mode 100644 index 0000000..789e88b --- /dev/null +++ b/app/src/androidTest/java/com/casflawed/flameking/weather/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.casflawed.flameking.weather; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + assertEquals("com.casflawed.flameking.weather", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..b247b1e --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/assets/litepal.xml b/app/src/main/assets/litepal.xml new file mode 100644 index 0000000..a26383f --- /dev/null +++ b/app/src/main/assets/litepal.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casflawed/flameking/weather/ChooseAreaFragment.java b/app/src/main/java/com/casflawed/flameking/weather/ChooseAreaFragment.java new file mode 100644 index 0000000..abe9309 --- /dev/null +++ b/app/src/main/java/com/casflawed/flameking/weather/ChooseAreaFragment.java @@ -0,0 +1,268 @@ +package com.casflawed.flameking.weather; + +import android.app.ProgressDialog; +import android.content.Intent; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.Button; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.Toast; + +import androidx.fragment.app.Fragment; + +import com.casflawed.flameking.weather.db.City; +import com.casflawed.flameking.weather.db.County; +import com.casflawed.flameking.weather.db.Province; +import com.casflawed.flameking.weather.util.HttpUtil; +import com.casflawed.flameking.weather.util.Utility; + +import org.litepal.crud.DataSupport; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.Response; + +public class ChooseAreaFragment extends Fragment { + public static final int LEVEL_PROVINCE = 0; + public static final int LEVEL_CITY = 1; + public static final int LEVEL_COUNTY = 2; + private ProgressDialog progressDialog; + private TextView titleText; + private Button backButton; + private ListView listView; + private ArrayAdapter adapter; + private List dataList = new ArrayList<>(); + /** + * 省列表 + */ + private List provinceList; + /** + * 市列表 + */ + private List cityList; + /** + * 县列表 + */ + private List countyList; + /** + * 选中的省份 + */ + private Province selectedProvince; + /** + * 选中的城市 + */ + private City selectedCity; + /** + * 当前选中的级别 + */ + private int currentLevel; + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // 加载choose_area.xml布局 + View view = inflater.inflate(R.layout.choose_area, container, false); + // 获取TextView控件 + titleText = (TextView) view.findViewById(R.id.title_text); + // 获取Button控件 + backButton = (Button) view.findViewById(R.id.back_button); + // 获取ListView控件 + listView = (ListView) view.findViewById(R.id.list_view); + // 初始化ArrayAdapter + adapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_list_item_1, dataList); + // 将ArrayAdapter设置为ListView的适配器 + listView.setAdapter(adapter); + return view; + } + + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, + long id) { + if (currentLevel == LEVEL_PROVINCE) { + selectedProvince = provinceList.get(position); + queryCities(); + } else if (currentLevel == LEVEL_CITY) { + selectedCity = cityList.get(position); + queryCounties(); + } else if (currentLevel == LEVEL_COUNTY) { + String weatherId = countyList.get(position).getWeatherId(); + if (getActivity() instanceof MainActivity) { + Intent intent = new Intent(getActivity(), WeatherActivity.class); + intent.putExtra("weather_id", weatherId); + startActivity(intent); + getActivity().finish(); + }else if (getActivity() instanceof WeatherActivity){ + // 如果在WeatherActivity活动中 + WeatherActivity activity = (WeatherActivity) getActivity(); + // 关闭菜单栏 + activity.drawerLayout.closeDrawers(); + // 打开下拉刷新进度条 + activity.swipeRefresh.setRefreshing(true); + // 请求天气信息 + activity.requestWeather(weatherId); + + } + + } + } + }); + backButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (currentLevel == LEVEL_COUNTY) { + queryCities(); + } else if (currentLevel == LEVEL_CITY) { + queryProvinces(); + } + } + }); + // 查询所有的省份信息 + queryProvinces(); + } + /** + * 查询全国所有的省,优先从数据库查询,如果没有查询到再去服务器上查询 + */ + private void queryProvinces() { + titleText.setText("中国"); + backButton.setVisibility(View.GONE); + provinceList = DataSupport.findAll(Province.class); + if (provinceList.size() > 0) { + dataList.clear(); + for (Province province : provinceList) { + dataList.add(province.getProvinceName()); + } + adapter.notifyDataSetChanged(); + listView.setSelection(0); + currentLevel = LEVEL_PROVINCE; + } else { + String address = "http://guolin.tech/api/china/"; + queryFromServer(address, "province"); + } + } + /** + * 查询选中省内所有的市,优先从数据库查询,如果没有查询到再去服务器上查询 + */ + private void queryCities() { + titleText.setText(selectedProvince.getProvinceName()); + backButton.setVisibility(View.VISIBLE); + cityList = DataSupport.where("provinceid = ? ", String.valueOf(selectedProvince.getId())).find(City.class); + if (cityList.size() > 0) { + dataList.clear(); + for (City city : cityList) { + dataList.add(city.getCityName()); + } + adapter.notifyDataSetChanged(); + listView.setSelection(0); + currentLevel = LEVEL_CITY; + } else { + int provinceCode = selectedProvince.getProvinceCode(); + String address = "http://guolin.tech/api/china/" + provinceCode; + queryFromServer(address, "city"); + } + } + /** + * 查询选中市内所有的县,优先从数据库查询,如果没有查询到再去服务器上查询 + */ + private void queryCounties() { + titleText.setText(selectedCity.getCityName()); + backButton.setVisibility(View.VISIBLE); + countyList = DataSupport.where("cityid = ? ", String.valueOf(selectedCity. + getId())).find(County.class); + if (countyList.size() > 0) { + dataList.clear(); + for (County county : countyList) { + dataList.add(county.getCountyName()); + } + adapter.notifyDataSetChanged(); + listView.setSelection(0); + currentLevel = LEVEL_COUNTY; + } else { + int provinceCode = selectedProvince.getProvinceCode(); + int cityCode = selectedCity.getCityCode(); + String address = "http://guolin.tech/api/china/" + provinceCode + "/" + + cityCode; + queryFromServer(address, "county"); + } + } + /** + * 根据传入的地址和类型从服务器上查询省市县数据 + */ + private void queryFromServer(String address, final String type) { + showProgressDialog(); + HttpUtil.sendOkHttpRequest(address, new Callback() { + @Override + public void onResponse(Call call, Response response) throws IOException { + String responseText = response.body().string(); + boolean result = false; + if ("province".equals(type)) { + result = Utility.handleProvinceResponse(responseText); + } else if ("city".equals(type)) { + result = Utility.handleCityResponse(responseText, + selectedProvince.getId()); + } else if ("county".equals(type)) { + result = Utility.handleCountyResponse(responseText, + selectedCity.getId()); + } + if (result) { + getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + closeProgressDialog(); + if ("province".equals(type)) { + queryProvinces(); + } else if ("city".equals(type)) { + queryCities(); + } else if ("county".equals(type)) { + queryCounties(); + } + } + }); + } + } + @Override + public void onFailure(Call call, IOException e) { + // 通过runOnUiThread()方法回到主线程处理逻辑 + getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + closeProgressDialog(); + Toast.makeText(getContext(), "加载失败", Toast.LENGTH_SHORT). + show(); + } + }); + } + }); + } + /** + * 显示进度对话框 + */ + private void showProgressDialog() { + if (progressDialog == null) { + progressDialog = new ProgressDialog(getActivity()); + progressDialog.setMessage("正在加载..."); + progressDialog.setCanceledOnTouchOutside(false); + } + progressDialog.show(); + } + /** + * 关闭进度对话框 + */ + private void closeProgressDialog() { + if (progressDialog != null) {progressDialog.dismiss(); + } + } +} + + diff --git a/app/src/main/java/com/casflawed/flameking/weather/MainActivity.java b/app/src/main/java/com/casflawed/flameking/weather/MainActivity.java new file mode 100644 index 0000000..ba12fcd --- /dev/null +++ b/app/src/main/java/com/casflawed/flameking/weather/MainActivity.java @@ -0,0 +1,23 @@ +package com.casflawed.flameking.weather; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.preference.PreferenceManager; + +public class MainActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + if (prefs.getString("weather", null) != null) { + Intent intent = new Intent(this, WeatherActivity.class); + startActivity(intent); + finish(); + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casflawed/flameking/weather/WeatherActivity.java b/app/src/main/java/com/casflawed/flameking/weather/WeatherActivity.java new file mode 100644 index 0000000..3d1b684 --- /dev/null +++ b/app/src/main/java/com/casflawed/flameking/weather/WeatherActivity.java @@ -0,0 +1,251 @@ +package com.casflawed.flameking.weather; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.view.GravityCompat; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; + +import android.content.Intent; +import android.content.SharedPreferences; +import android.graphics.Color; +import android.os.Build; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import android.widget.Toast; + +import com.bumptech.glide.Glide; +import com.casflawed.flameking.weather.gson.Forecast; +import com.casflawed.flameking.weather.gson.Weather; +import com.casflawed.flameking.weather.service.AutoUpdateService; +import com.casflawed.flameking.weather.util.HttpUtil; +import com.casflawed.flameking.weather.util.Utility; + +import java.io.IOException; + +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.Response; + +public class WeatherActivity extends AppCompatActivity { + public DrawerLayout drawerLayout; + private Button navButton; + public SwipeRefreshLayout swipeRefresh; + private String mWeatherId; + private ScrollView weatherLayout; + private TextView titleCity; + private TextView titleUpdateTime; + private TextView degreeText; + private TextView weatherInfoText; + private LinearLayout forecastLayout; + private TextView aqiText; + private TextView pm25Text; + private TextView comfortText; + private TextView carWashText; + private TextView sportText; + private ImageView bingPicImg; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + // 0.系统版本号判断,因为该功能Android 5.0以上才支持 + if (Build.VERSION.SDK_INT >= 21) { + View decorView = getWindow().getDecorView(); + // 0-1.改变系统UI的显示,让布局显示在状态栏上 + decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); + // 0-2.将状态栏设置成透明的 + getWindow().setStatusBarColor(Color.TRANSPARENT); + } + // 1.加载布局文件activity_weather + setContentView(R.layout.activity_weather); + // 2.初始化各控件 + + weatherLayout = (ScrollView) findViewById(R.id.weather_layout); + titleCity = (TextView) findViewById(R.id.title_city); + titleUpdateTime = (TextView) findViewById(R.id.title_update_time); + degreeText = (TextView) findViewById(R.id.degree_text); + weatherInfoText = (TextView) findViewById(R.id.weather_info_text); + forecastLayout = (LinearLayout) findViewById(R.id.forecast_layout); + aqiText = (TextView) findViewById(R.id.aqi_text); + pm25Text = (TextView) findViewById(R.id.pm25_text); + comfortText = (TextView) findViewById(R.id.comfort_text); + carWashText = (TextView) findViewById(R.id.car_wash_text); + sportText = (TextView) findViewById(R.id.sport_text); + bingPicImg = (ImageView) findViewById(R.id.bing_pic_img); + swipeRefresh = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh); + drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); + navButton = (Button) findViewById(R.id.nav_button); + // 2-1.设置下拉刷新进度条的颜色 + swipeRefresh.setColorSchemeResources(com.google.android.material.R.color.design_default_color_primary); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + String weatherString = prefs.getString("weather", null); + + // 2-2.侧滑菜单按钮点击事件 + navButton.setOnClickListener(new View.OnClickListener(){ + @Override + public void onClick(View view) { + // 2-3.打开滑动菜单 + drawerLayout.openDrawer(GravityCompat.START); + } + }); + if (weatherString != null) { + // 3.有缓存时直接解析天气数据 + Weather weather = Utility.handleWeatherResponse(weatherString); + mWeatherId = weather.basic.weatherId; + showWeatherInfo(weather); + } else { + // 4.无缓存时去服务器查询天气 + mWeatherId = getIntent().getStringExtra("weather_id"); + weatherLayout.setVisibility(View.INVISIBLE); + requestWeather(mWeatherId); + } + // 4.1.设置下拉刷新的监听器 + swipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { + // 4.2.触发下拉刷新,调用onRefresh方法更新当前城市的天气信息 + @Override + public void onRefresh() { + requestWeather(mWeatherId); + } + }); + // 5.查询缓存的必应每日图片 + String bingPic = prefs.getString("bing_pic", null); + if (bingPic != null) { + // 6.Glide加载图片 + Glide.with(this).load(bingPic).into(bingPicImg); + }else { + loadBingPic(); + } + } + /** + * 根据天气id请求城市天气信息 + */ + public void requestWeather(final String weatherId) { + // 0.每次请求天气信息的同时,加载一张新的背景图片 + loadBingPic(); + // 1.请求url + String weatherUrl = "http://guolin.tech/api/weather?cityid=" + + weatherId + "&key=391a03e19a194caf97225f7cb4de51d9"; + // 2.发送请求 + HttpUtil.sendOkHttpRequest(weatherUrl, new Callback() { + @Override + public void onResponse(Call call, Response response) throws IOException { + final String responseText = response.body().string(); + // 3.将天气json对象转换为Weather对象 + final Weather weather = Utility.handleWeatherResponse(responseText); + // 4.从当前线程切换到主线程 + runOnUiThread(new Runnable() { + @Override + public void run() { + // 5.请求天气信息成功 + if (weather != null && "ok".equals(weather.status)) { + SharedPreferences.Editor editor = PreferenceManager. + getDefaultSharedPreferences(WeatherActivity.this).edit(); + // 6.将返回的数据responseText缓存到SharedPreferences中 + editor.putString("weather", responseText); + editor.apply(); + mWeatherId = weather.basic.weatherId; + // 7.调用showWeatherInfo显示天气信息 + showWeatherInfo(weather); + } else { + Toast.makeText(WeatherActivity.this, "获取天气信息失败", + Toast.LENGTH_SHORT).show(); + } + // 8.请求结束,关闭下拉事件,隐藏刷新进度条 + swipeRefresh.setRefreshing(false); + } + }); + } + @Override + public void onFailure(Call call, IOException e) { + e.printStackTrace(); + runOnUiThread(new Runnable() { + @Override + public void run() { + Toast.makeText(WeatherActivity.this, "获取天气信息失败", + Toast.LENGTH_SHORT).show(); + swipeRefresh.setRefreshing(false); + } + }); + } + }); + } + /** + * 处理并展示Weather实体类中的数据 + */ + private void showWeatherInfo(Weather weather) { + String cityName = weather.basic.cityName; + String updateTime = weather.basic.update.updateTime.split(" ")[1]; + String degree = weather.now.temperature + "℃"; + String weatherInfo = weather.now.more.info; + titleCity.setText(cityName); + titleUpdateTime.setText(updateTime); + degreeText.setText(degree); + weatherInfoText.setText(weatherInfo); + forecastLayout.removeAllViews(); + for (Forecast forecast : weather.forecastList) { + View view = LayoutInflater.from(this).inflate(R.layout.forecast_item, forecastLayout, false); + TextView dateText = (TextView) view.findViewById(R.id.date_text); + ImageView infoIcon = (ImageView) view.findViewById(R.id.info_icon); +// TextView infoText = (TextView) view.findViewById(R.id.info_text); + TextView maxText = (TextView) view.findViewById(R.id.max_text); + TextView minText = (TextView) view.findViewById(R.id.min_text); + dateText.setText(forecast.date); + Integer iconCode = WeatherIconEnum.getIconCodeByIconName(forecast.more.info); + infoIcon.setImageResource(iconCode); +// infoText.setText(forecast.more.info); + maxText.setText(forecast.temperature.max); + minText.setText(forecast.temperature.min); + forecastLayout.addView(view); + } + if (weather.aqi != null) { + aqiText.setText(weather.aqi.city.aqi); + pm25Text.setText(weather.aqi.city.pm25); + } + String comfort = "舒适度:" + weather.suggestion.comfort.info; + String carWash = "洗车指数:" + weather.suggestion.carWash.info; + String sport = "运动建议:" + weather.suggestion.sport.info; + comfortText.setText(comfort); + carWashText.setText(carWash); + sportText.setText(sport); + weatherLayout.setVisibility(View.VISIBLE); + // 激活定时任务 + Intent intent = new Intent(this, AutoUpdateService.class); + startService(intent); + } + + /** + * 加载必应每日一图 + */ + private void loadBingPic(){ + String requestBingPic = "http://guolin.tech/api/bing_pic"; + HttpUtil.sendOkHttpRequest(requestBingPic, new Callback() { + @Override + public void onResponse(Call call, Response response) throws IOException { + final String bingPic = response.body().string(); + SharedPreferences.Editor editor = PreferenceManager. + getDefaultSharedPreferences(WeatherActivity.this).edit(); + editor.putString("bing_pic", bingPic); + editor.apply(); + runOnUiThread(new Runnable() { + @Override + public void run() { + Glide.with(WeatherActivity.this).load(bingPic).into(bingPicImg); + } + }); + } + @Override + public void onFailure(Call call, IOException e) { + e.printStackTrace(); + } + }); + } + +} + + diff --git a/app/src/main/java/com/casflawed/flameking/weather/WeatherIconEnum.java b/app/src/main/java/com/casflawed/flameking/weather/WeatherIconEnum.java new file mode 100644 index 0000000..7a86452 --- /dev/null +++ b/app/src/main/java/com/casflawed/flameking/weather/WeatherIconEnum.java @@ -0,0 +1,37 @@ +package com.casflawed.flameking.weather; + +public enum WeatherIconEnum { + SUNNY("晴", R.drawable.weather_100), + CLOUDY("多云", R.drawable.weather_101), + OVERCAST("阴", R.drawable.weather_104), + SHOWER_RAIN("阵雨", R.drawable.weather_300), + THUNDERSHOWER("雷阵雨", R.drawable.weather_302), + LIGHT_RAIN("小雨", R.drawable.weather_305), + MODERATE_RAIN("中雨", R.drawable.weather_306), + HEAVY_RAIN("大雨", R.drawable.weather_307); + + WeatherIconEnum(String weatherIconName, Integer weatherIconCode) { + this.weatherIconName = weatherIconName; + this.weatherIconCode = weatherIconCode; + } + + private String weatherIconName; + private Integer weatherIconCode; + + public String getWeatherIconName() { + return weatherIconName; + } + + public Integer getWeatherIconCode() { + return weatherIconCode; + } + + public static Integer getIconCodeByIconName(String name){ + for (WeatherIconEnum value : WeatherIconEnum.values()) { + if (value.getWeatherIconName().equals(name)) { + return value.weatherIconCode; + } + } + throw new RuntimeException("当前天气的图标还未收录!"); + } +} diff --git a/app/src/main/java/com/casflawed/flameking/weather/db/City.java b/app/src/main/java/com/casflawed/flameking/weather/db/City.java new file mode 100644 index 0000000..fd6d81b --- /dev/null +++ b/app/src/main/java/com/casflawed/flameking/weather/db/City.java @@ -0,0 +1,52 @@ +package com.casflawed.flameking.weather.db; + +import org.litepal.crud.DataSupport; + +public class City extends DataSupport { + private Integer id; + private String cityName; + private Integer cityCode; + private Integer provinceId; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getCityName() { + return cityName; + } + + public void setCityName(String cityName) { + this.cityName = cityName; + } + + public Integer getCityCode() { + return cityCode; + } + + public void setCityCode(Integer cityCode) { + this.cityCode = cityCode; + } + + public Integer getProvinceId() { + return provinceId; + } + + public void setProvinceId(Integer provinceId) { + this.provinceId = provinceId; + } + + @Override + public String toString() { + return "City{" + + "id=" + id + + ", cityName='" + cityName + '\'' + + ", cityCode=" + cityCode + + ", provinceId=" + provinceId + + '}'; + } +} diff --git a/app/src/main/java/com/casflawed/flameking/weather/db/County.java b/app/src/main/java/com/casflawed/flameking/weather/db/County.java new file mode 100644 index 0000000..dbe4375 --- /dev/null +++ b/app/src/main/java/com/casflawed/flameking/weather/db/County.java @@ -0,0 +1,52 @@ +package com.casflawed.flameking.weather.db; + +import org.litepal.crud.DataSupport; + +public class County extends DataSupport { + private Integer id; + private String countyName; + private String weatherId; + private Integer cityId; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getCountyName() { + return countyName; + } + + public void setCountyName(String countyName) { + this.countyName = countyName; + } + + public String getWeatherId() { + return weatherId; + } + + public void setWeatherId(String weatherId) { + this.weatherId = weatherId; + } + + public Integer getCityId() { + return cityId; + } + + public void setCityId(Integer cityId) { + this.cityId = cityId; + } + + @Override + public String toString() { + return "County{" + + "id=" + id + + ", countyName='" + countyName + '\'' + + ", weatherId=" + weatherId + + ", cityId=" + cityId + + '}'; + } +} diff --git a/app/src/main/java/com/casflawed/flameking/weather/db/Province.java b/app/src/main/java/com/casflawed/flameking/weather/db/Province.java new file mode 100644 index 0000000..7cc9d1f --- /dev/null +++ b/app/src/main/java/com/casflawed/flameking/weather/db/Province.java @@ -0,0 +1,42 @@ +package com.casflawed.flameking.weather.db; + +import org.litepal.crud.DataSupport; + +public class Province extends DataSupport { + private Integer id; + private Integer provinceCode; + private String provinceName; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getProvinceCode() { + return provinceCode; + } + + public void setProvinceCode(Integer provinceCode) { + this.provinceCode = provinceCode; + } + + public String getProvinceName() { + return provinceName; + } + + public void setProvinceName(String provinceName) { + this.provinceName = provinceName; + } + + @Override + public String toString() { + return "Province{" + + "id=" + id + + ", provinceCode=" + provinceCode + + ", provinceName='" + provinceName + '\'' + + '}'; + } +} diff --git a/app/src/main/java/com/casflawed/flameking/weather/gson/AQI.java b/app/src/main/java/com/casflawed/flameking/weather/gson/AQI.java new file mode 100644 index 0000000..e56cd94 --- /dev/null +++ b/app/src/main/java/com/casflawed/flameking/weather/gson/AQI.java @@ -0,0 +1,33 @@ +package com.casflawed.flameking.weather.gson; + +public class AQI { + public AQICity city; + public class AQICity{ + public String aqi; + public String pm25; + + public String getAqi() { + return aqi; + } + + public void setAqi(String aqi) { + this.aqi = aqi; + } + + public String getPm25() { + return pm25; + } + + public void setPm25(String pm25) { + this.pm25 = pm25; + } + } + + public AQICity getCity() { + return city; + } + + public void setCity(AQICity city) { + this.city = city; + } +} diff --git a/app/src/main/java/com/casflawed/flameking/weather/gson/Basic.java b/app/src/main/java/com/casflawed/flameking/weather/gson/Basic.java new file mode 100644 index 0000000..ef49dbe --- /dev/null +++ b/app/src/main/java/com/casflawed/flameking/weather/gson/Basic.java @@ -0,0 +1,47 @@ +package com.casflawed.flameking.weather.gson; + +import com.google.gson.annotations.SerializedName; + +public class Basic { + @SerializedName("city") + public String cityName; + @SerializedName("cid") + public String weatherId; + public Update update; + public class Update{ + @SerializedName("loc") + public String updateTime; + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + + public String getCityName() { + return cityName; + } + + public void setCityName(String cityName) { + this.cityName = cityName; + } + + public String getWeatherId() { + return weatherId; + } + + public void setWeatherId(String weatherId) { + this.weatherId = weatherId; + } + + public Update getUpdate() { + return update; + } + + public void setUpdate(Update update) { + this.update = update; + } +} diff --git a/app/src/main/java/com/casflawed/flameking/weather/gson/Forecast.java b/app/src/main/java/com/casflawed/flameking/weather/gson/Forecast.java new file mode 100644 index 0000000..105f318 --- /dev/null +++ b/app/src/main/java/com/casflawed/flameking/weather/gson/Forecast.java @@ -0,0 +1,67 @@ +package com.casflawed.flameking.weather.gson; + +import com.google.gson.annotations.SerializedName; + +public class Forecast { + public String date; + @SerializedName("tmp") + public Temperature temperature; + @SerializedName("cond") + public More more; + public class Temperature{ + public String max; + public String min; + + public String getMax() { + return max; + } + + public void setMax(String max) { + this.max = max; + } + + public String getMin() { + return min; + } + + public void setMin(String min) { + this.min = min; + } + } + public class More{ + @SerializedName("txt_d") + public String info; + + public String getInfo() { + return info; + } + + public void setInfo(String info) { + this.info = info; + } + } + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public Temperature getTemperature() { + return temperature; + } + + public void setTemperature(Temperature temperature) { + this.temperature = temperature; + } + + public More getMore() { + return more; + } + + public void setMore(More more) { + this.more = more; + } +} diff --git a/app/src/main/java/com/casflawed/flameking/weather/gson/Now.java b/app/src/main/java/com/casflawed/flameking/weather/gson/Now.java new file mode 100644 index 0000000..3120be5 --- /dev/null +++ b/app/src/main/java/com/casflawed/flameking/weather/gson/Now.java @@ -0,0 +1,37 @@ +package com.casflawed.flameking.weather.gson; + +import com.google.gson.annotations.SerializedName; + +public class Now { + @SerializedName("tmp") + public String temperature; + @SerializedName("cond") + public More more; + public class More{ + public String info; + + public String getInfo() { + return info; + } + + public void setInfo(String info) { + this.info = info; + } + } + + public String getTemperature() { + return temperature; + } + + public void setTemperature(String temperature) { + this.temperature = temperature; + } + + public More getMore() { + return more; + } + + public void setMore(More more) { + this.more = more; + } +} diff --git a/app/src/main/java/com/casflawed/flameking/weather/gson/Suggestion.java b/app/src/main/java/com/casflawed/flameking/weather/gson/Suggestion.java new file mode 100644 index 0000000..7c732d3 --- /dev/null +++ b/app/src/main/java/com/casflawed/flameking/weather/gson/Suggestion.java @@ -0,0 +1,71 @@ +package com.casflawed.flameking.weather.gson; + +import com.google.gson.annotations.SerializedName; + +public class Suggestion { + @SerializedName("comf") + public Comfort comfort; + public Sport sport; + @SerializedName("cw") + public CarWash carWash; + public class Comfort{ + @SerializedName("txt") + public String info; + + public String getInfo() { + return info; + } + + public void setInfo(String info) { + this.info = info; + } + } + public class Sport{ + @SerializedName("txt") + public String info; + + public String getInfo() { + return info; + } + + public void setInfo(String info) { + this.info = info; + } + } + public class CarWash{ + @SerializedName("txt") + public String info; + + public String getInfo() { + return info; + } + + public void setInfo(String info) { + this.info = info; + } + } + + public Comfort getComfort() { + return comfort; + } + + public void setComfort(Comfort comfort) { + this.comfort = comfort; + } + + public Sport getSport() { + return sport; + } + + public void setSport(Sport sport) { + this.sport = sport; + } + + public CarWash getCarWash() { + return carWash; + } + + public void setCarWash(CarWash carWash) { + this.carWash = carWash; + } +} diff --git a/app/src/main/java/com/casflawed/flameking/weather/gson/Weather.java b/app/src/main/java/com/casflawed/flameking/weather/gson/Weather.java new file mode 100644 index 0000000..b391e95 --- /dev/null +++ b/app/src/main/java/com/casflawed/flameking/weather/gson/Weather.java @@ -0,0 +1,63 @@ +package com.casflawed.flameking.weather.gson; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +public class Weather { + public String status; + public Basic basic; + public AQI aqi; + public Now now; + public Suggestion suggestion; + @SerializedName("daily_forecast") + public List forecastList; + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Basic getBasic() { + return basic; + } + + public void setBasic(Basic basic) { + this.basic = basic; + } + + public AQI getAqi() { + return aqi; + } + + public void setAqi(AQI aqi) { + this.aqi = aqi; + } + + public Now getNow() { + return now; + } + + public void setNow(Now now) { + this.now = now; + } + + public Suggestion getSuggestion() { + return suggestion; + } + + public void setSuggestion(Suggestion suggestion) { + this.suggestion = suggestion; + } + + public List getForecastList() { + return forecastList; + } + + public void setForecastList(List forecastList) { + this.forecastList = forecastList; + } +} diff --git a/app/src/main/java/com/casflawed/flameking/weather/service/AutoUpdateService.java b/app/src/main/java/com/casflawed/flameking/weather/service/AutoUpdateService.java new file mode 100644 index 0000000..44eabc0 --- /dev/null +++ b/app/src/main/java/com/casflawed/flameking/weather/service/AutoUpdateService.java @@ -0,0 +1,97 @@ +package com.casflawed.flameking.weather.service; + +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.app.Service; +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.IBinder; +import android.os.SystemClock; +import android.preference.PreferenceManager; + +import com.casflawed.flameking.weather.gson.Weather; +import com.casflawed.flameking.weather.util.HttpUtil; +import com.casflawed.flameking.weather.util.Utility; + +import java.io.IOException; + +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.Response; + +public class AutoUpdateService extends Service { + @Override + public IBinder onBind(Intent intent) { + return null; + } + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + // 1.更新天气信息 + updateWeather(); + // 2.更新图片信息 + updateBingPic(); + AlarmManager manager = (AlarmManager) getSystemService(ALARM_SERVICE); + // 3.每8小时自动更新,节省用户流量开销 + int anHour = 8 * 60 * 60 * 1000; // 这是8小时的毫秒数 + long triggerAtTime = SystemClock.elapsedRealtime() + anHour; + Intent i = new Intent(this, AutoUpdateService.class); + PendingIntent pi = PendingIntent.getService(this, 0, i, 0); + manager.cancel(pi); + manager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pi); + return super.onStartCommand(intent, flags, startId); + } + /** + * 更新天气信息 + */ + private void updateWeather(){ + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + String weatherString = prefs.getString("weather", null); + if (weatherString != null) { + // 有缓存时直接解析天气数据,只是获取weatherId + Weather weather = Utility.handleWeatherResponse(weatherString); + String weatherId = weather.basic.weatherId; + String weatherUrl = "http://guolin.tech/api/weather?cityid=" + + weatherId + "&key=391a03e19a194caf97225f7cb4de51d9"; + HttpUtil.sendOkHttpRequest(weatherUrl, new Callback() { + @Override + public void onResponse(Call call, Response response) throws + IOException { + String responseText = response.body().string(); + Weather weather = Utility.handleWeatherResponse(responseText); + if (weather != null && "ok".equals(weather.status)) { + SharedPreferences.Editor editor = PreferenceManager. + getDefaultSharedPreferences(AutoUpdateService.this). + edit(); + // 更新缓存 + editor.putString("weather", responseText); + editor.apply(); + } + } + @Override + public void onFailure(Call call, IOException e) { + e.printStackTrace(); + } + }); + } + } + /** + * 更新必应每日一图 + */ + private void updateBingPic() { + String requestBingPic = "http://guolin.tech/api/bing_pic"; + HttpUtil.sendOkHttpRequest(requestBingPic, new Callback() { + @Override + public void onResponse(Call call, Response response) throws IOException { + String bingPic = response.body().string(); + SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences( + AutoUpdateService.this).edit(); + editor.putString("bing_pic", bingPic); + editor.apply(); + } + @Override + public void onFailure(Call call, IOException e) { + e.printStackTrace(); + } + }); + } +} diff --git a/app/src/main/java/com/casflawed/flameking/weather/util/HttpUtil.java b/app/src/main/java/com/casflawed/flameking/weather/util/HttpUtil.java new file mode 100644 index 0000000..6b3562a --- /dev/null +++ b/app/src/main/java/com/casflawed/flameking/weather/util/HttpUtil.java @@ -0,0 +1,16 @@ +package com.casflawed.flameking.weather.util; + +import okhttp3.Callback; +import okhttp3.OkHttpClient; +import okhttp3.Request; + +public class HttpUtil { + public static void sendOkHttpRequest(String address, Callback callback) { + OkHttpClient client = new OkHttpClient(); + // 1.传入url地址 + Request request = new Request.Builder().url(address).build(); + // 2.注册回调处理response + client.newCall(request).enqueue(callback); + } +} + diff --git a/app/src/main/java/com/casflawed/flameking/weather/util/Utility.java b/app/src/main/java/com/casflawed/flameking/weather/util/Utility.java new file mode 100644 index 0000000..517100d --- /dev/null +++ b/app/src/main/java/com/casflawed/flameking/weather/util/Utility.java @@ -0,0 +1,106 @@ +package com.casflawed.flameking.weather.util; + +import android.text.TextUtils; + +import com.casflawed.flameking.weather.db.City; +import com.casflawed.flameking.weather.db.County; +import com.casflawed.flameking.weather.db.Province; +import com.casflawed.flameking.weather.gson.Weather; +import com.google.gson.Gson; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public class Utility { + /** + * 解析和处理服务器返回的省级数据 + */ + public static boolean handleProvinceResponse(String response) { + if (! TextUtils.isEmpty(response)) { + try { + // 1.转json数组 + JSONArray allProvinces = new JSONArray(response); + for (int i = 0; i < allProvinces.length(); i++) { + // 2.转json对象 + JSONObject provinceObject = allProvinces.getJSONObject(i); + // 3.初始化实例对象 + Province province = new Province(); + province.setProvinceName(provinceObject.getString("name")); + province.setProvinceCode(provinceObject.getInt("id")); + province.save(); + } + return true; + } catch (JSONException e) { + e.printStackTrace(); + } + } + return false; + } + /** + * 解析和处理服务器返回的市级数据 + */ + public static boolean handleCityResponse(String response, int provinceId) { + if (! TextUtils.isEmpty(response)) { + try { + JSONArray allCities = new JSONArray(response); + for (int i = 0; i < allCities.length(); i++) { + JSONObject cityObject= allCities.getJSONObject(i); + City city = new City(); + city.setCityName(cityObject.getString("name")); + city.setCityCode(cityObject.getInt("id")); + city.setProvinceId(provinceId); + city.save(); + } + return true; + } catch (JSONException e) { + e.printStackTrace(); + } + } + return false; + } + /** + * 解析和处理服务器返回的县级数据 + */ + public static boolean handleCountyResponse(String response, int cityId) { + if (! TextUtils.isEmpty(response)) { + try { + JSONArray allCounties = new JSONArray(response); + for (int i = 0; i < allCounties.length(); i++) { + JSONObject countyObject = allCounties.getJSONObject(i); + County county = new County(); + county.setCountyName(countyObject.getString("name")); + county.setWeatherId(countyObject.getString("weather_id")); + county.setCityId(cityId); + county.save(); + } + return true; + } catch (JSONException e) { + e.printStackTrace(); + } + } + return false; + } + + /** + * 将返回的JSON数据解析成Weather实体类 + */ + public static Weather handleWeatherResponse(String response) { + try { + // 1.获取响应对象数据 + JSONObject jsonObject = new JSONObject(response); + // 2.获取HeWeather数组对象 + JSONArray jsonArray = jsonObject.getJSONArray("HeWeather"); + // 3.获取HeWeather数组对象的第一个元素 + String weatherContent = jsonArray.getJSONObject(0).toString(); + // 4.gson转换json为Java对象 + return new Gson().fromJson(weatherContent, Weather.class); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + +} + + diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_back.png b/app/src/main/res/drawable/ic_back.png new file mode 100644 index 0000000000000000000000000000000000000000..32a6d91ce8618ff42524d9e075451a13b2945f87 GIT binary patch literal 191 zcmV;w06_nVP)Ap7eLnt4x9M8V#y=ekOzm~F z1-CqFUdrj1?YnVJYl6+Rt%5yAKWVc(-tb52poEUJ;*0*&WR}{EC5{*Pz0Fx_HucOXhnoC38TQkpozmAvBDe^clAQ(Jd{an^LB{Ts5 DrEY}G literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/weather_100.png b/app/src/main/res/drawable/weather_100.png new file mode 100644 index 0000000000000000000000000000000000000000..ab363939630e9aacac93cad2b8d90db246227cfd GIT binary patch literal 7398 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/weather_104.png b/app/src/main/res/drawable/weather_104.png new file mode 100644 index 0000000000000000000000000000000000000000..cf75c8582873ee6abd2028f589a42093c087ce2e GIT binary patch literal 5364 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/weather_305.png b/app/src/main/res/drawable/weather_305.png new file mode 100644 index 0000000000000000000000000000000000000000..85ae4147e5fa5b7d227ac69b48441f813fd2092a GIT binary patch literal 8754 zcmch7s@Q30AaK0q(Gd`%9T5QkiM$fUDrGqh~5LaWs5$|p;^kK`W1F=@oiF_>{B#44PPF|}bl=WhUO z_m?&IrZ;=-jSQAaKNt>jK_HoFIc=g81qB&CdeO-gR-gF?sGFs1^s?|(SDRK4?f6lp zm|ppF`;PwXSKaa$5k8~@1jb(U{|iWxmKF)avg;QBl%!j)iixRVioH|z5>tW5AiXec zVafnO?i!D3scA`@??s|^!j)f8CiBj20?1*ra+COLCd051OuNu?!|2NG&JN91EPU*b zDVLGIy@uDgS_ALH9y+OXZ#d#KJvzySE{v< zraS|in+=VX5utPd;Bb=Ju98huuzut9XcCv)N5;Ad6>{YQ*)c+N{1#HKx|%dKmE4o% z0(Rzt&!c588J67ZRO&^#$qLRz>*Gm|Gl9v+Mf1H&(rAt4@yvzE1vGy$T}HZzTSq%7 zUrnEDqpi-ujt{$(DpSKSh&Dm^wM-7&HRi3FLniq+tgtU{d90YD2Ud@#Q$O+|`Rmna z6^Q~yV5##IEB3$hJosbk8bGZU4gA#8oc+9IWyLW-b3_T;f!-;N_(aGIe;BpLlWzL4 z6UbOTikB!{C83lR-o+94vyN)ooXbtHP%PUfbQ&>tkqN||94>U|*fi$-!7o||#hZG; z+{sI%(7j;OUaZ+Kso$d(ke3 zC;U=24f9j~`gkYZN>(oqUl)XgZH9i<-0~T}9WAf5+_C)BQd5O+Cz#vJMu)fx?ZYT3 zR*}dI?Z?Q0FxCoSnY(>hGjmdETi9>GAq#IvD{8YT@a%KiMzLkF6C`Vc)j|vANUCbej^G8tA2y(yju z#1t!u&Lei8?F5$wN2Ef;$w8cd!_6JuD7k(tx(ozLZ%kipuMWV$#DoKS%d+oB9pB107Fmf}#U4pDT*o+-&mJmWs zNtnNkt}BPThZ+<%Z0)*#r<&-!h)cqTO+9zzzDSGY^{&jz3~1ZNjWuTlFT&8yB9YIT zkn|wKrLov(KJh!l6XE8?0;khxhebH9go8M|lG3>Ussu9|k~Orq_5Yc15$0xTTP20@ z$SuXpvXDYe+-Y+8vZIZXN46Y?(#rl?u4QazK+IHRl%JN4FRsmt>wqC!RXA&|7mk98;C3!dKNm>}c^?b3h@!7gTRDSRWwiT@QE@O^9owpJz}f z^tA59O@~EfK7ds|dNAdu#jN9LphBVkIMpmPrRN;m*a>U?m>~wcL*YG|hrA^VYyAMC zJS&cMBj@4RL#Z6wJeNYB4v$Lpazj+jj`C%wgx0kCTxtad7q0|4;7^FEKZbJvS*34<0|8;04lMmU z$lP(!-_g+8QcJxCvIfD!nJ>hN$ErhBN6AROD&N1|3n6glV%h^#j(O#1$mGU5nrqc{ zgQu2C(}|xZ=pksFSjo}c4hJF~S}2=&84^Xy@d9Z2>tmnvvcXz5u8G^ObobU(I}cqb zOJX4tVt4l9Cb@!)@L5;ompST7`iQS>`3U0QYw3?-Cn|SraWpoa^$!qM;AM$yLN$Zv zD9pdmTi&Bdj`oA^xNj{br-HpPDsBe6^TL`>pS&BBW;HZ0L-z&rlEP3O(q=8&YaTb~ zro<0o;#B_(`#nBZI!ZMY7k0Io3ndpCi%0Ifx>C?jsukJdH;#(O*0{K)ATA?urv55! zn(-#%`D%c8>H86&BsXZKF!jpH=`Jbn==|`*ScsH#^CPP`#6y}oZ7J)Jb!@`aPan1( zs|UauqdFG$lol2%h|K80d&+hbM-H&;zdSJ(A?X^3Taw@enUzgBAo%7G!~9yt72HIP z!27dvdM>1aA0Mfu@B_d}z~`|~NTp@|d_MV3R0aPy{-Wz26*7&%li5(lLWO_LJ^Jau z!cZ>B6j{ggO3aCby+Q6bR=llT>Um7Sh_D%WqQ#{1p-+gZ&tUa?Zn%B{)Fj)WKdpj9 z^i&r4;L;ZTgNmyAVfVng5Yjc{aQKd51*|06Fgu}(%;el{7yTuTUK*JSJ!9Hp98y&d zzzoooMEH%+)T^@XA*ET+LZl)SzP3!4QEoBNr;8Mc{ig$)u^%O!9yX_Ka{dYM#uU?B zN7XlX%6Jkz{T!pO_!D{E;8%e;C&{bN04>IM%PfBpmJLr6r2G0tk2-w>t_8rQ&lr?l zXl6%b-y!h~FH!m;Py?DL77rX}_5!>L7uWP4BNzCb?L;XtV#4jEUO&z!=+<;+;P2a~ z2?xhliFM6(g8aJL_`j9{NR-#vrm#=(gm4ox8kYzKEp(!421PQ&P)9~aST$>F$Mlx% zKOqIxzGmKl39)@Vb~Clk1C;$QS+*o|n$;Zh)5~HPPU>aaak~Whd>N@I33$sgRfp%Y zk#HJWPetY5IoUe}q5hs{;)D-qIn2=*wNxtyLW?+W66ellHNTwP;N2y(2dxKNzRJ_pkf9#9Z_20(n z+?kRUaY8!O?X)o9@9T4++0Gt)EF@VhY&)aZvRQvKYLI}ZqDD4r?(J9?@D4r>a-j=8 zd^w&`MF3oFzKDIQv|KLs?>9XOe3u9(sc-oUWoQJ;xiikWoq?15xri)_BjE)F=Xlss zW$#JI)=q||K6-xMfv%j)*8y8iVe1V*?*kuyvfM8!y;F1eQ*tLT);tfYVAHjGiW|?C zUI%Xq!7!XfV(dHRwg)XW3pbH%R}M8tn$;*K(U-lSH>;V7U!gw1Sd=KNhc;UPHno#q z)R`FIw!KDOHsuqWEid~kBrMeVY1K@l@kdoqf@9aGfUf?M`(Iw6{rs2aMR;9UR-@{3q~Xgow4ufI{U4sx zzQ{%1kMSwr<>UM7qF~ZQxA)mP&qW`C%Kc1pHh!4mplOQ%abE-z8`uw-OJ>G&2VM!GW7JNdTdljoN5|VOG9e_Pgx6L zXnu4|=97a(B3b@9TA`ZZ&>n6XI(*gUl1j1c`hL+;Rgq2t32Iqak3rch6zK<2CZiz4 z#v)3`8g~g__{NXT0dpk$U5AW8FbgDIcu7wnh{>8=ihVc(@I&SgCXRIRrvLg^nS4GgOQZ~&o|HBSVUCSYq&K9@5|Ke1e3;2Nsu~l2%U$o zN=YKnmYea*4*mBC*nna(`26ExQSPY;(qMqTQ&KLKFN0!vM*T_vze_(lpdEl&Ji|nj z&pw2q!zf4F8t}mA0za{hmd{VP7$fuU+WE&x8SXgqR7%Wl(;Z2 zvu|M{N%-|xp|Xc+Pqxycq24naeMb&oh#!ZUL8ErKqcQQ-mJwsNfDIYxlZ;ZlG7X0K zD4P|cgmS4Gzs+;@hMxNIJkCF)9+m)t_>VlH1kL;@s>rnvX0Bz1BxpoG`=8a=$W*93 zK$9*dd6PQhkK72Vot2NqzP}#Ss&S*sW5_)bv@k45yYGRM@R1P@bc0|&8~+OvzBv=! zT&|+8alzq%mnAJ@7Ch=6GNf~xgRhK$w2x<<077zJb(UL--?91kmfPqez3#@7AgKVo zc1@HIX+nBk+UvxRQyw$lzMPL8ESL;Z!b~)~_?y6E$6vGRep4KctQo zQxA-cg>!+(Mj<9&?B5I!De)s26XZ4+i!3g`xW z)5}0+T&Dumhi`uK)oGIM^Bu(Bk^cFa59!;eg2+ieTw*I+>P7kYKwdjAaAef38HL`S zVj9cMS9{xf-`JBJsJRkmBazlh+Ezk5QVW|^;*I>(xG6Q~^P_W9>O2<((-%M6t9lIQ zbIa^h_b`M)d&jRGHtaEaUC4JL23q{`iqbLZJlwbfU-`A(5F2h-zsmrn6AvyoqAk3DC4N{niFifMA>lFR8*NUX*v7e$pni5bpP4x}>=MxDPyyBhVkc)OVW zXJj{_89VnPFXwCmHRKC8w2DnI%D6i)cVS&B@%u`l#=R*I$WSS0YuiPcFjBDfcx?kB zE1mwEmU5MvG?6@K*|s_oY2#&sXFu-Hx1x2e*M06ARGmtOPI--~_WBe!0+f|WB?`ff zt`nwjfM}H1tHSARh-ZhEMkn0lj=^TLclA9}LYr&t4lD8zd#kHjtUA_ZINBfMv|vo! z@j98spWsW5w#QBFAHdBu(}#IS1(~g>JQJoB@dgTDR&qr)88t$yM~W)l4T1_i!a*7~ zmboDgcf$$mDi8tbN{dy9iA1Z| zqaZGW8FK$T9i=_K}{ z+GG@Y5B;@tzVEK6VeZu9zP$g#`op!Ceo{Cx-_g}^vvSCPUs!7YgttpWMCXE_O*%+Q z^H4fGv;Awd;+BMC%*tJKlrFlMag|(GuL}j}09$VMakG~?YIjBYjq?Sk=9cc73B%rr zrZY&d+qmS};YS#ZXt}a(YfY!cP%W6V&p@Bbe_&Ff#_=vS*#D=Q4BFA^_N8WX@7MAD zS66%*WT?*Vaf1|doO?S@%tVpgs^MBFbg1R(b4{o17(YuGx>hVUKl5$&0-gqWiio7{ z50tv(on}%2ElOF^?B@K3Qt5OBK!ZHO1*Iow*H_VyZwXBoF4&~b{(pXawr5``59a>Yj-pC@jFoa9cu;r={R^@$ z@N)kgHS4FqdWF$w;7pMZ$4^i%4DQ(MDoxxCmzyVpRL#WFt8?mW!pJpuW>Tbsf;$#s zP)2Q8g*-s{iy2Ap2gf#(6?UdaZL)^cNPM3KEf5ob_({36#{rsf|EQJjXHWh^w8Wpb>7ZlC%)wZO(qjFKNGd1CQkUOhVxE-R!Y=u-M3THC?cVu zsmwFyENZl+&3R~^JG8oB&j{9LV|2<@V#vDAlg4c?<&Hv81zt8S50V%bn4uM6iWU7W z_DFR8_sr?ag;HvFg3zA#m}gw48{VtAa;YR|bgBQG*uF=t#pYl@7p^Ep$G7FC!lwWO zn;2*j(XLNSH^jR5?&KEg9C$rlckD9<-K<|_3d?DzW#pu$p4zRFiBU99;>{(Wls1O- zd_A^pXW2m!6JKfHRK69V#YU&NToh@TM_2Tj$-O5xmz3%B`b)Hkkf^*slcCLM$gDmh zo0EAXcT(+(ZPY^=1^In&cYXK4DYHF?2I4`OpRaEevrR*#5VCwxvB>DpPlPWgl}FcI z-^r+6+uMv^`MGZP)8GKYX2JQI&$Hf6O#3X{)viMDecjIDMcT8JZ#%ui>QMY=+G=RU zo0>sL&5he9{@DnXDcmsc5!!vJ%9e_SJ3vM+h4sJD*#6X!x7NU3uTULg>zNyTk))2F z$G};(Y;tl8Rs13%0{v*UMk&F6<+2#vW+YUY@$@bB(?*V|8BUCz1^msS=7=XY!7|A1 z$HzyQ?zR5S@-QMK$bEDwgzkB3F*K$Tew^oAO?#-5aUi*Bo>aUv*dlj2c0iewxZ@xr znik9AHszpIhOtC?s$Dn9ivFaOp+%DU4Q=dot-%<$4kLQ!9R{jtZjYU}^aN{YT%xwb zKIl$~`u_yZn1MV+TU0EnL_=m1WcJF9{Mrl>TMvCnKUCIiTfS9yj+Sc~7=*<4tJ^8~ zbL5{419fLfj5$D+jann|HPn!e>km#7f6JNeR7Y9!b2G^>nk=0ymA>)cxXaCQi3-HD z61NF}6(t566j}B3&Fg78=UQXR7YO~_Cuk2!l?23eCb!z+oX<$tB`|ec0#kF#g+fw& zT<1r&4pU0(PXirGI{i1$`evXkZ`7}%G!%{;ex1c%r9sP}c@0q$bq%tf&z0oN-KwJs z&1N!pppyb}6JeNO(An{_71(&^V(Q!ENc`j>B$@ikP)b(M2~hTNO$KX$FvC3D*CuF4 zuxm1yDv>0wELo7)xc3Z4Au!hT;+DfUs6^(D%KfI9?N zCYwdbRd&ZuBOAQwOkCm7Y@kWtTAeF>1bT2opEKAx^MAe$wNYZ6L+wz_O%;=O@D_RN zEUAgZD+K<p`|5<>B%(G3V-{PXZFdsI+v|%gDi@%8e%QPH}R%b z{jUG)vP!E(IQ4p4LDzPNfHtwOXed=@qij$lOe_`3l%7Mr=ti8N{cDwUgtzDlWry4m zV%q%Fv^H&9^P>2yp*x7K5-N?zB3aX>R={x8Uu+ z!TxYK)~AGLyxQk_T!~`q?#fA3Doqwkf> z%ErnJ8N9<1EtMV*W0J(MpJ^$-%AcRR64$q2(s$#L1aRSHlF*9An`s?;Tvt zVR!L<6}7lwfiYQ}6+f_ANZtJQeyEYRl%JSMJpSQlNpCK)!ir!(dQBm0HF7{}^wWN* zk+j)K5?j;e9-M%6@mcFiH#crV{7SqZUAJPn*pwZF=_T6p?DY6f#}^IVU*&R*Gzbya zajF~P5gg9CP73a!(2ntjyJ{(QJboCv)5uL@TTQ@~PFRfpp#Emzp|IR|R0}gS!r?AK zmX}o61*c7Iz&op$DjE$bd9Q3$`p(2tfNIcd$Q{7B_+G%jpOd{-y{k8N9Ad@uk=&EBtJIm0RLu#mk(Ij~WIj zTxlaEW25KM`Cbx?99U7Cr13A0-QP)!K-}Vd+bvOg>Pu8lpTUdiiW#$;jKNAedHY@q z!9C7eOjc9F>(+Qq%~W}%p8etAi|QWkZ^gd5sa`H0$2uAngk>buN=lmG)&z{>fN#aqbrG>fypSL;8y74LSG84=@UDC9quY z84`1rAc$mJuFAbul0iNc&c4)iFn(thPLDeOLE)cP(;uoz>w|w^{HgmqljGd23YjIH zTLf60x_A=2I;FK$a)!t2C{04+|K2;j$Ow1Y$=Wqytfi-2!%3#^qs#v%r1PkWNc$m|7LA+ zfF){T+BwTFTs7!oWbG+p46A4cw7NA$1;-3xPKBK8-0!vMjJ|XHMJ`l`SGVZm#IZ%5 z`^Fb#`6%+J2|YE5n2ju}Y_p0sppUA^>iv|I)xa*e4(%3x60Ux9qP%8N3>-)k+>7r% zDd8Z#jNNU!fvWA_I266=afk&2Nye|HHbSdgsIe9Uh@d&0+3hLXLw_eU! z$XZ$-`o@0U*2|`17Bzs$!Y4tb=xa9mlkbC(U`ndf=k#jMX4q_UPl-*-5(m;pmO?;;yv9+ zB)?s5+XVe>P`#8LFS(@XsUsSBCrFPs;QFylfNK;`ciWCU?(6@gQ;}ziTx9xZmx_a1 zPapL@eDWnF*xHj#p(jYIA4W=BSe*ZZ75eG4E;4pX$Wv9TTZf7ZbV=AQ7tLWz#hPl} z)f1iuYmDPt|A$JUERG`v`A{CxLj7ncr$0e}jJTtD7qdOGE*aR^+Xa4V-HFr^WF={h zD~q;J)cJtfTE2KigWt5Tlu%Z2b^Euy=~KJTO9ya6gAxQ8^*d$LrwL=Vke2SG_{0Qi2T92gg&f(*hSZx&}kJk&>iqV;7TkJfg z-uDgEBc}uU6RG-)mX_MiKxp}B)&=DpBmQTc<+q0U1|mk4)o+x!6eb>y`1sRkg?`Z+ zb)q0;_{DXI6arQdl3U(xmTVmI$Vk74^$w#x`)BU?dYn17R9t>wRYyM1W%EjzMur|q zz5`3FrtqaM$nNb-u-yMpy!^%?j_)>v{+^XCbw91JAYUQ+qLr>ovqXY_Gx8fT*UZCe*Q_wYSXCu+9Jp6Th4*e72TG~i1ZtM5)**t^V1YZxsI2oi@RbN@EA*y#D z`$sCE_4d`R+zHbF%|>!W{X8W^Q=W=w-GNKRbgrpS>EXY;7BOeKR;J#1R2tyDsu^pk zS{)+LPmOV@Pa#~JQ(%E3q=xVl5&1m#$>>FWymDScP7hZ82J*jDJ`BA`#P~-k+B=+0 z3NI@?@>~Uk60rza;B1#j{^Qd6#RD1^6(~3+FjT48ZaZ*Q<|7J+lLZA;enj?wK~DtA z+(jxENUzVEADR`33fo^&A#s6b+rcDy@zYeV zZv}Q061l0bx+5H{9QXYc{FWySK_%*2!~jEBbb7<4aun9&9jnmFr9OcG zvCqAO!m1c&>{rVdF0)^5eb4E8k@QL@|L%04>*Lt8h%XR5{45k(+OP7gtpE9rI_^Kq zlh{2sPA;xKhX49ymBy*~gwWUVr$DWNQ-5qyQ{mNq*~ysh0R7bQWAvijH${uV0?QaX zxoZs1n&%HhQ}(1N?36&RWAZ2)A5iXZVU|Fq*! ze~Fz)En)}=jQ7g&vJgMS6BEo#$Y8V7!dfFAmOy_u<~MmDxlBSd1uAJvXag&uyy>q& z;*k%Qm(!j1mxO79p-e1LkDrX0+N?RD&B-T)Q}+n0Geq~| zYbxD7mmtR*ocj&I_UJA;tC$_MirfZ63%QS37R`*8=5NHLgMrZF3( zWJkH~<79ny?f3(gik;U>G=0n9jt2#yCR-}qx2ma5H=>?YiZZeq`Err`zZJYPc6i65 z?A1zd`Q9v$vGaY4QVp`>nEE5@FQ$;DZ0=_0kQAKJt7HzHQGs(tL8SW|0PT1wEi6Z+ z=jIw3I;I=FDMQ67N0?>YUr0b`XPOaF{SCuq=+I#hL$i&IDq{2u}?JE@Vo{=WRl_MhEa; zQsx@VR^@oR`sGtHQjOU>&Pue7~(?7~m z3ai>@IbHdq?C<7F8syo$vEo(9BKfe&{n)5oGSa#^sV* z9rIs#A~Zu$?JL&InJHh}X=e%(9MC69lSvKbw4ZNR_C^oQsTq#VW^Ra5x0tMj|9v5r7Ip`^~+F9 zvN0H~wD1wxdNrG4iXBK_-(apTvKdTDDxtU(S9dC2SW9$jw~4K`|6&r=TX?sum2F2{ zv7y#Z&};Gm-QIMk4T+A$k+RdUW5k~hZKOXs#!u^y?t_3Pd+Pq-_mvx-%k!@!QGocL zuW9Ti(uIQ9=p_2i4_9A7sFeo0Yh1KUF^#yrx#WQqex;?LKGoS!o4YQhTkCV0&zkv;@bKK1vQ*{M!DYQz z1*Lmc7z&mf?YvA#T}4g4HtU3_2}F40$lu{so=vz;^ zqC6i41MQI3>Xuq9uMm4FD;tfALQxN)W5^Y>{RC_>R=i>`#=)b@uQ z1`18M9s}m$N~hI z5^P(`fSc+G@YjjNQ~3W_ABzpPN4S`+_a)4WF9u02rI^CG1Jm~`kH4zz_~*BbN*HOE zr_r}BGpboMgkskdHTCiEK;#s_**bFZ8gkNikknPco@l1@NV&8c#!hCZMM_>TxFufG zmnf*MhmRVDahd$7m6?jFNbR^GGck05e%*}jSF}*W)Zdr{f=-JYb$KGRO&tSr@(Y3N2el>++ckDkrhmxPY*OYx^~j^B5C>Q5JAF8 zP6)Kz*k7;8GcX{k0RN@g%L6TV@ucqSL3%6s)F-7VHD|nsrM~~|An+!j^2#W!QAiEu zwkn}_W|W6>=TCOb&%>w)hbtFHc3d+Ce`CVhfu^1(SDdy^bRF1=u>QDAwqXt>;tvBU zor5pzk4%r{J@S=|C%YDOA7j%ZFrqVReC-NVHNpt`y^H+lk1?RLBc@JKr#B>kf9RW>Anr#v=gv(Kf=D*xsXF9SYk&q1_oKi&(sUkeQdSG+HP z^x1EDfili?viP}l%CKxNbnv?!%RgjUQ%4m#gJis3P1i7@jO))jQbv_3tz#SI;RBJ* zyzj8KZjw+wG4Z>x8L|*82SxAa)#h;!RO_sa2w)b8T#XXKe)>k{%a22>O|ccq@uNTW z`rmT|hGCjV&03N%e*G!$01GDo`9*8GmGxC*0_6+HY>}!I>m=bYf7up%HW;B}hIwQr z9Y;BM`xiX6^hiVTvO4n z?ng_yKmGhyn(E0}dSx$(7pD5j!B#{JHfC;Ih7vEi- z2>IVJ+$az&3hLp}xR0%925}^%(!8wxSWzf#C7j=|l^g zr5qPfZ_6}apG@}v5T=MSR@ccuFVXatcM!Vb^^zu;Ir#BzBpjz1oH-XI zIY!Q1RWt%-4%;QL7nb{YUuCPBzk{1|ze>4W8D^Z9gg1c@7yjirc-} zW^ykug7XR_R5w990AX|dZ)Y;Y_YQs?-<2nX@GM*j{xtLz>oVcXB}r5NO7W>Ii7o$- zf;D<^U$po9d7r*z5yx%cG}wI|TZ*94bFW?2o@X4tw?+Q0DNk{UM1ra@dt)I_v1jE5 zJ4h$)-4k2x`DJ>rNSehS+a2SYB4!|FU1f!e4}I^n9kg!y>$fq+v9t6SV#y6>-kb5@ zB@K7uDM|s6ngAAW4xnKvV2Oc~&78TiP>O4DhN*45%y%&=^~AGf>^-T3YQ_%tqHY|v zp4?sYD>-JCj?fmv*)j4gV$&%f@c4mPHc{iyNBuS1#rbcDAgwQ34EKATif!_1(?PJm z*9J{_lk70IB@sNv4Bpu)i^fnc_Y=3h{>Cf2@wHWPq%(EN8&KQ<>oY|m;X3kIy6U9A z6Y{TL-SL919}$c(epRz;_EK1P6zo}*@v2>~*FARxd?_-P)|(<%>onsf^yf1+_3 zx|7z@`mR6yaJD?qEAu_G4w$j?UL*a^SwP`{in$yKX!wzSP#K zWa}YBK)xt#C2FK+sX4nSjqCKU-1ok3cU}G|Pszq`-cOJ7Sa`!z6#G9xo-fIydz`Jn za1IYrt+fEgJd58Et=#0ISB&MU zm+Z#JpF^?v>H2QgXfl~an5sxO#w~aOX)*~EB$AcZ%UiD%SDtfrHwDcZ&>wO7`F>-D z^8nL}$Y@e*EBiB+DxR6#6Gc_Z@Vgc6k&anZ{#@E{IvC+RxGY0+Gg+Rrh9^)>M?LotF?+;r5q+}O3?Z^YVik^; zMjW0R={f?#Q%+Q^kordMd1^tql3$q5eI`pGF7HQ`7`}0fmx5xggg3}^n)UXjDhjOBh&6z+Jun| zf#e^Oezi3Xotc?1L$pQ* z%^*_3Mah-flCh_>bny<+(9sMR=ii>wI(@f`M_g^FhxDH+@KBHF8(JcKMf3b>W)`AurveI4a zwATBFP?*H2WH40_){jwTHb#n-IwyD=T|I7@OL1}2)MjaNMCj{D*MMDIYco_?=u-9D z^|aD|P2K8R%I=rG79PRPr4w?{pW0ja4| z+o#dtkr~7n#?c{fCHtVB&gzq*b`h)qEanj6{2UZky@pA%H-=DDxu|Bjo58=zWet2u zXG`7uJ7di};ZTF|T|m|&Zzd=6(ed=Hnlk;5WGz?53CkAoB2QJguz;7; zh|xc=>_^PHwmewl|MSrvrWDhw!GX!+Td9Xxr2BLKYUXS69siT_xgl}mdG`qy#M58~ z_4$onFCy!;Vc_vwp&ph1&UWZO$-y+Z%M?d~uipe&_Q2Q zFBL_i%|GkikHv^=gGjOjTjy7pDE#9I`V!B~ls=9?ju3p@+N61M+Ji-4lfC@d@1YAL zkSft?29xex)VEYL3FR#adsy6osb7rFigN1g-6e9JuCg!59@22^p6?orI4{yD6YIwK z6+hR02$=mjrkVgTVRy~Ac0Gt%sT6{8vOnF1fw6z zr^E?~D+C!;Ed+C93)lxwlv&W6`Jtv496JZE>|bOV95uRp_*-`F%g(E^n%a}?QBogz zMl;+ER2O!73~IlMcB~s+jW9e8;`F0Be~|yv-&@+EAg0^IR?zQa_NhjfNBne~A>~&L zk24k)g0Qsr)NMW`>tNud6_POq=HYA++GVklM5BSi%0h ztxZN^dWcRjgtHC=qm4{1h1FXI22BRkzLh-tyIR{%R;W5xzGYS~U`>1H-tWba^4%>o z@BU4svD91XU}o=DQKVh7pKIY^?2WbZ6Kft8FK$z(P4*w^A*C{-ED={q~YPn87OtI$QCbD zYDPXF!7pCAx6=Dpn`G$S$BQYEo}ol?Ln=66dDZFM#RBkt6ah)O9PCx_g4U!_jXf{G z&tYZcFg@t;BD*<~(Ml8j`lP@w?1jeB)KAF+tfj`y(wt3Ao^hI#VDHDoU@Qf>zdeo2 zCTr_`@ERhC&M@GjIn7yIDP8QSh%8sJnA}#hwXW`Ql>kRe6SzahF5v%g4n7fI2@-Kr&8XtE|A6F*hWn z(Irr|VG3TQ;bvs^epjypuDGvn+WIly)rEiCBIc>C)AWm`)n)6pV%aUOIcW$#jjT3n zgtW8LMR~8l1F%9a7}XT>+fCLxwR^xLwSX+SEMY!)*Lq!C&g}~Q1^9h_H>Hk_<*QY8 z*c^x@f${D8Rrg!vQgGECGiQH*#>+ni7WXiAgE-CPtfXIu0F%Y_hYfs0bXe<~Q&g-aA zitoL|og6gu@%SObM=Fhh1ZlJ!4F9EcuI(D5TfV;(l-Nl3)blBLs#n)kl6WW@8yWc7 zfP7U=?zWo%Iuj;9vxK|1%OLcbllOT!n9>m!1A3Vya9A~FiOFL7g9=z zP4CaFujW88_KNi&48)5?Mwq|KgM=K0O>chrM%WpOw%XK^uJ zpG=1~AqQt^WjB$8$K;j8D%K%x(X z5Q0znEA~RuIC6|kKLTW|rMm}|+&Z%}&oF1Y8VVIQ9mVWs;O)+vtBOeJ0n2rNXY~|g zE@8gI`oG~(;6xpY>f&R8-%=yZcar4Yu`L8)U*DJQ;wAS8AYAF>@Sohz_CbPKVDBue zCB4GSg1BD&N-)n%*cWAZPAGh zg+lo%wM=iPW-dB=Z6$!?=PMa*ahKOlLN+GBy}&F}c&ofk#Sy*PdRvm;3C6N~Kp(;d zSG>@mKBP^Tw0_JQfLIJRtV4x*=`@m<%moeY)sOp}eh~9M%;0ep&jfjUYMF`$;`hB4 zK!kW}o{@-tRXjP&MSvA!M0zi6oVoitShr(|=+k|eDce^A^;bnM2ipfTd=AyBPNkE& zZ0056ab(@Hf0y0OE3ly$uYzF1+#F&r7@o|2<#H#yYz7hB;4xMiws;IBj_)?XvH=l*?&DbDhoQ|)aHdwIHpQ>!Y?1T)E+PosO1)r554zs<3 z($c%3&vyI##9M=__|Sz-1KM-BxAuwAtEc)O;?anIBCc3HQ35im>6i@k)cnNt>KWNa zy!E6yM|@?n^b~cO5!v@dG59ZeFDIj1O-h_a#?j0yoQmiE{WXT8y2e(jC4}m-+cfM= zx~G9)=(D+T>B=2Df1brEYO-z6Iqm5>M^5tK4(E z5Ge1kC2)g*F77m^6ojX~DkPYZv|wZ_Z2Gn1s}GS4JTI#qrwQJFQW$P*etO;?!W1jy ztuKYhGd$&g^&Hsc5!JzjM)S@N!i44D0H3w@P=_K8cJ{39nj0J_*IvJL& z5ZmF3=6n^s9Wd1&Xn^=m4Y4GqDsy1J|zOea&AzzX$|!r|gHJhqSdZZBYcmNVm0?s!YPSq8dDa~{O1 z>fhirwF$yAB9VH4Ss#>2o^8>zocRF7{pE(c1i#9l7SODsv~=QcvNow&)iAYte@yUX zgM-~cONH6|5Ulq8_gAtCPFnMqowvwl(PG*E-NCY)o<{yh-wRs*GqMl{^ks$qcRnna z4Ol*UA+>56sbym#)QEP(v7hTyvQ*=Jz^r$eo&y(U%V#qtpj<9wsJqCAiHBM z?Pe8-z?nC(@+_=~D;7$k#k#`lwJH+8KUPhap)d5%mRl}~X6G&XK;WhaN6T=MXXO=8 zxnaU-yGLE!ycOVt+VMDEMF~w#4T*IJbhMbWN2%hwLEsb&C%oH^Ujkps##Wt=CYJjFqn{xMiL|p1Z4Ox!P31S%y76-{x4KQ6mC6RaIz}~{FF#$NBpvz z{6S>Y6r(Cf)Yd>5r$usjY{M0BFDpKuhhpdgv9$-ar)TJ1J_k@CpEV#TTAVkHCm449 zDIB`p*%t4Eg^!60L=NRA-V|HZi3Ni9OY8v14>>d>{ z@Z)0sS$rt$&^_C^(AUyDnQ@8W2agz4l*m9y0U}71Qz%9nu6}d`ns{|?Et_PTqV|lb8;k2Mfx`~EUTMbww6OcTEo(M~oMUJp zA0u5n1qHSmJ6ZyH2xUecR;x?PgG?whD^eDl+69b;9)wf33SPSKs^gRK-#Ld0)5LRXzlp?qcXIy2Djfkb%qxLy3 zKgjzzk~@moa3|Nc9L-}=0I;t}^7{1d8LvD~?l&ko_M*X*sQ9N}pjbWK-)}0)(0xi) zo>sm6_FKc8KABt3#6+Ok&t_)X9u+e}+v#N-kXYdY{_5wnpg6geg$0HHlBBr@5r;OL zX6>PJc)s13@UOcsPjv&}zMWrG1Fg+CPN;m>x*t^d0?;d#*eBerc6{vZg8^|jr5^TQ z5z@<-|{8W$jJz4VR1M?mQmJgpnLOk`!4!^uwh;trCNXBAKLNzvS{ED7UP zDKJCTolbBAYx>+0MKV6o;@LD7xxqK}T(UC~1&NbmsUoiPy_V|90>vu7AELVbMJjItthhJ_xNVi|^C$6g z0{!~_P9xr51&_gB-4vj|83?Mk=cPAnQ?f%n>J zElVQd$7^PMuFHJ>3E)TIZLXP?pBH!|AM1^FsoptQ?|i3^J8_si0k z&AT_|kQ|U*+GH~4o9W8Z6<~h6665tr#%4w)n#QaqW&NazJ6z)3!0G*!nUeH@Kf!Qx zBzHMSxoKp#=M#G#4M7I@e)QQud%aP1YIWZ1%dq6+F^=&}H1i^M64CD>EL*|+nQFqA zz7NY{GGg^L{QXv9Wra-I3Bc!;53`8P-#pzALY4J$l(eU>=IbB61S3DQc;|df%~0iw z3`jVO>p>RqP&NQWa{z9b=1jR8TdNr9U!R#4D&)QC?4jAj-540>k|N?U_2OY=KFTxn zjPwlogWmZC(6RfXZ_y#*JZ(^~ihS;BNpdmHXEJUA0*QqZLZqYnXl`_%DBvz_?1ov^ zgL~p+XHlN8%E-KayWS&8)FL%}dcZpQuG!b{-A+2}WBwvvCr(H2TXv--o>=S!ehhYmE>SUA#hG64ifji#qoRi2dy_>gwy@b2p<}Iy^TpS`#C4;CxZ4e z3kBU`jv)g)PzII#jo{w~8m&p)%Ri8Uu5BFkw@8O>l$ip*6W@?IITf^jH=7tSN45=} zGlOuv)Z@&MpG1MiyNcU7yUo)QmY{nsRR@!MMO8`vhUq4fmj|PuIPf@QgULW1vrKz&olP?%X z9IFGAn0?Ky@)JRkPd06NWX3i9P!(BIhJak@0JHwf3wvRrmvH>H$CQ5u{#1isWl#;? zU*snq*t4_?H&xPWFuH`lMhT$(Q|&kZDrt%b!nmtlx&uF5((9o`UM;+S9_78I0}Y+@ zvaj)d?xxo+O{0>#*nJ=82vFVJaA*;FR4^*xR;gON`Vn9}DS^{zXWaBcWctEO8oZym%Q{#kpoZOL(yq!ERJ0LsRvBu8D$9$N{LiIK@7*GxVxOb&&D04dA82#Px+Rh1m*vHw^(r<*MC!_NhR` zTv5+3-~wJvOkSc(w&`u8()B!^_OHenPvzRxyL?EO?xST}pTRd3_6n4|krDw^KE{^v zqHf=`tEcF-UjfpkKfT*2U|jJrJkop!xo5Lkd6`KTzf38poE79uanL$wvP;XWPD?22z+@ZK2nn#Mmau<_$u&z{h3gDvaEHqfL)SPH0F`?Xn8 z%oT*G>dj3}TEp6d`JMV>m(8@IhLR zCw{RK%~u1DYm7-IPLio6gE|8jClWU*e`8er<$g3~=l4^T?2 zx?=-N)^S#(uz=8|ws1}!qXLXWjXmP7`I#zt+C1gMQ+>c7@|tZ>DUI57rTEBUDoM#J zURUCo6BQW`KX3>ae&(=Ukgol~QQ5rpoFfN?2_Q(lkRDiq09=L6IiOv%oG^=HGsGpl zhhoZmE2VU$mkiK#OCI;yPH!>Ia|XOK2Y7O7?woPMUti6Bc> zzv;)^v>D{J*vFAdr&dBE5DQOV=Vp+xMxG~q-%ZLnDB?Y-nKnPQ5`ZWgZY)kUTn9vT z!DxHsIjdVF`4E-8g9sUZ>MWzIw4J}Z8%4KX7lg_afxj}n0eu)3T zWpV1ns(UsAfr|lid`o3mbcW%Po z!OmX5QR?&J;&7@Yd6 z1+yLtJH8XXz(~5y)n%~k#zau1+tlU?&tG5ghKJ}zzK(^3e!1HK>rU5IDT$)l%w7^B zh+*Ld#_T9jqF{TT{%EX(u;7AjRnwwKj->jO6OltoQ99q8eyz+3&4^X?u6NlKzH`7; zrzL=tpcea-ztiwo(m-kkJArPsMG+$O2!99oRK)v~um%>QGEkJ8(VA=PAndPvz;Qtu zL<*0G6Y}(lJsey(R;*yfv;%KM7op(UVT*JN{)}%fuS6ALvwh z8$xZ_^$24@;swPQ3z;mJh)cXLO7=;wp8#Xs)cceIt1=_V_8KOFcbx^|b04ov_$a(jyYF+>4Jh2bmyBDr*O1BrS=h`a1ZZOjY>&D^q ze*;ldb)+#~K!UqD9Ee-CqdkH>I64);kbvV$PX4|!u*n^Q(w%x5r{rF14}?|XnIpoF zH{U8sjxz+mKw&s!vV{l<6IbZQ{s?P=^Zi(-7|0qAH;dpC5`1X4SyqRpiL zv`#%^v9{<-;WcS=luRZtyG9(C{34-LbQ9qNR-4Che@L(bP;%D!OhgXs{mgjw3fC%} zQ<`reR2JRvMO|I={g{H`Jv0%&m2LJfw%gaPOQsYW*^_CbPe)Olw_k86f0y7|2>Z@l zixH&hjr2@!XrbgL)kU=1jAL&I!kXpY!nA$_kSyC&7g6uB*BkNje47)r5O-pBTZl5O zRLI6i>qAVX9vUU((^i`jPEU!WPC*Ta9T|~7`pVz_gG>AN)HYOwb+*9d$IxJVf`4UIU6<)28Drg#0L|p!);+Uvy}zpMSGne zK5!o;JvBF$dwrP_3+;9IA&mpf;@HnHd!$5DL--tTQ?4`QVZ&@Ai4>!LRumjUD~DoU3d+8p5O= z@Z8Z_31{tscIoQEF;YpNQXP}LB)au2NHq@#k7E1vhcnwQRP98#P@?XN*^WEetB&22 z&%dT<5x5#>HY%4k^1FLtC)4H`3xH!|mR*}PAhv~t?k zIaj$F`(ZDUg4%TI-HdOcyC{xZNz~ZvyA(3OU%&ad?5xlwVXk)IjjR6=a5rGFqpr0}v<5Wj7#aX&F-tAImRA#!!DqGD!$8Cv-C(oo1P% zDnE|=t|$o|g?>*J?*5}qNknxioPSBxR168}d=<-v{nUA9Z`fsWX?H=-O=?^kF?#bf zJk$g%3_DC}wYH_Hv*VS$M3O9_7prpu|Ex265+~#3ET#Y%p2j_sPE-?`eFv62w{UN$b@`=K2 zM!kbGHl>#y(S_z5O*70uB>t>_a8T5TP+BE({Mtri=hsDHcn|xT;sx~)7stW7kdVhW z_5R(8S*+;ZU1K40Ryk%3I2=$=-*7lXPxJW>$YApK$#l9n{BTpaeOhO&Q1^wZdJ{Vn zY@b;tZvb!|1}aI-)A|kWqEP8}Isa&%&iGkkY~fnBdrgN^u(uhs!5rsL%iSjvxSlBX zTf)w2=Yv^b%Ok3lL~ESW2~RXvh{$u1+t2B5?1PN@Fm6N#cJRdfFt$!lUh73T(?40oih3oh08M_;O>Ws z{DEa9Y#5>@M`z&bn%rnaAM$L5yEd~K0#aa__i4Ew^~-cF6^hPT5ems!^H*CXE9WlN z92YpC-0 zs`In3VfZKEV~s3-3`$;2d)YbNt?QhF(}9%${QNqQm{IqR;7ULEwY8E<%F|ArR@@$Bi;- zN=QiQjGIA; zOJ0oo`ZwJjec?#!vmOlt&cxoP#D$vvadkxD8BbOeWmz?5a;TqRS1~Gnh2IzDiy9II z`;N3K>jIh_4nUwQ(@HRLNTk5wmM`A6c>Z6c;CT!i>ehIy@Du$w6Nisr+>akVdsp2% zbj&cm+$=jUbq947jJ}<|^wMjaiG8j>HKQ${EqyfOukafmZjfXC_Nj&aFJcbW)s-W& zVLSd+W}#E@Yuoinu+_)xS6$Bv^J;;i>ar(dhL}yw91T7imA8ySXLv>zPzfWWwFyhR ziosMo-16d=@e62Af;eHe6aI0Tp}rqCtQwGiU%`xnO=P?LigeH2qO@>;pQM*a*&^IFXCZX()hb$CfVnhs(V1ANFn| zkK!0%h?Q?PF$X|{FN0Id*-cXpOOb&*h5AT=TuE#cIu!ev0>7zYE8;@_~-!rW{ zfZ}F#AHFIKPpT@TmkNQTrx`9|N28k6mn<@b^4ruw7agKv8vSof?@Ch}g1CmvK-ovO zlaDg}HerrG!+{e4q%aGi!8F31bhb%8^P`$53hrUQb zlg!*o@|s^l7OJK}8%$zyNgJ(FTEDfkjSfunSiv-(&hh=Mg{t}q37adeEOxZrVoe8X zZX7X_lMHwFVn)#rG!c3CYlmo#2M~>yw_@^@tk6TcoY0L8mlyA#2TJS$%Ny5MrC?$u z^04|+i(-P60QxU&Ok-)n4%*S*CZ0&`JiCcE(p77i6i^v>{VzD1iyQ=16GpZvUWctR z6Vn)7zSi&D)(<~(P4UfcB^jRnz(H?g?JHZibA5H7pF&8%9N{@)W3%Rv2=0HH&E@UT z$o;%AwflmrKh98H_v#GW3ucUZuaz@hADq1%M=THPt| za&w6@Zq-Cqm$(VtKT}m%`>tm|jPlcodUa^G<;{@87hzjuT}FosKO#8Sf~Xdow+l^t z;qURi=L?ZxY{meBt{}>N-#FHrqAt66Kpm5{O>A%8tPOUQ+heI2kp#o{{~J-tf@Lx9{CoV8AgE4 zt{l{5Z&^;{LbKymtxC2E*G5lH%fR<=M4-CtRYP3!cCTOsc)B)6$vI&H*!ERj`oN7l zGW#3TSGKDEi-&v=&7^(+hnT&Pc*{6btonS2-)98FxVMU@kJBTm6nWjhTLn;d$--Vj zoXSUH?hL(31w1y+2)6&^A11dMOwtN#E4pkF$TIbNL2ZzG3ZtU+{bjoXWB(cw^nUV$ zF-oWsOcdEIyU3BDH=iO4FBF5`Q=rS%ix*#8>raUg`y+L1xd>@%JH(EY<*O0QpdF{MNQ(7HYA5Vdb+)sT8g2+NL$Dx(3pETM$931gg>_g}Y4^)gqzH~6Fdha% zzg_5&uzU`I;4*ktJ|RJC5YYE#Exv$(bI{bep1 zJ`fT~Eq%7I1G}y3fSf(NkA#}Z`AmOq5^g^;U5nN#{LWju2aONmY{s1U3?Lpz@)TtI z8JZ=2TMNBg^W2=s+y}8E;qi_WE3q6sRT{bRIh(Z;@pi4?$Y^k0Rpc%V6dB%+5o1?C+!ARBs63MZ8@wtG8#uXU`fMbTEe6x#w z2+)Q9Jj`};#b?zS+7+Qp`^9eU{-R|URV^Jg?Xrv!ry10pzI7IgkYLNA*!tj%aX-5^ zXI@j^*U^)b8pG*EfnN-b=0i%TuCF)X*?*GlO}dfwM$Ah)=V19WzVepHzePs z?89t#+BK+~6IF+2>hqs)lIZQgdd@#C72tlvDV&cHQ$ZbPp8y&_kyuY{U74j!$IGed zQ(bz~U)fx!nf)V!|Ox-{gJco zC8(Eolyg$Ws3peDe}sCe>WMUX7q(tn00mN-pscI*Fym$qSYsA$R8;T*%1~_~-+M`7c8?f(K zMtlZ)_bK$>B(2xh;u_Iksm@08HUr5SXVaeyd&R=gJer1MF-t2icvngyZsg*?r6XL4 z&RDT$`JJ~mMSGPfuCJ!L1=+ZfbGcq-?(*&Xp|hN4tpgFpsHu58_g|;e&I%_g5BBzG z6~kog<5C~!y|)&&QCODS!?tWp<&?ec1_pIepIJ`hs8}l>=&^p%lZ?ZDSG9v;%%3oB!=0c(g36pr@Pf)!Ic`Sqz^`crG^w3d$%RsklcKv+*8t+RD-4!y^jV9LA4+^!$APpjCPCrz^#yl!4at z*DkyHR$bF-^-Fy%it3^zZUBUnFy9osk)xlKgz;=gnWku+;W@LW#ymy8_N9&&twg-M zh;d-go~Uoo#QMeCaiKt_NtRWpFA;h}$Xa4nPNiIaWD%4T9sGn!XlCx?eW*O|(8c=& zbDc5EVi_$U==&E*Lip@0SH`fc*Z5s2ML{J^1U4vY_jej}5&Ir>#QoU07(< z6y*1*zCSfy2Q6>IFF|MymeYqqd)#N_4$qN;5~h;9&)kKZYzV`gEOuD9MoMJ?u&5JM zooH|5H%j)cf)!jIw|bdPR!UVep2jg5zE0z^;xE$TM19}*h!tXfIMrI+ik|d1S?umk z=&YgmhN@RyW#!2^rtd4#21fiqYmkc$53g}flj03gb_St1!gH7)E6=x77ovDyaeu1SrvLiU5ExRT|!`*Eb5T*SSJD zQp1qp6(s{zX*f~UFY%HItYfa~aMKq<$e(q{1ajKS2;tQ*9vf4HLFO=`zCv4E<&0+? z*_oPSU8@>=lxK{A9z_RF@a?Laru}kJgtAW5(8bEF`h4v^I=PVy_|?2giRg2^+Ex7G z-XKp2k=3a}#cjoul05jTjji}$u6FeaGorWVi>v#^r$0J8ELl>$ILAmhu!S0Q@*rrw z_WQ?$zTtkg$MI`-`FFR`Ep4f$kI z+S))Ao^XGeJ*hh~)FtBlFk72F^j^!k&(zqkLB1~R!`Iue{%S-47tmnrodY1FvV%{> z9?&QI9g#;uyB#_xzshg%!Ww6Yhe9uqU;9B67d`*l!3|@f=B4FKDfAB*${ZaWV39b{ zTQ##KQp#{j)Ps~y&tz?eo0YSWaktVwS!KlsVZaKZKhN*KA4@_d9C}ceDIOHiZ#l?H z4ij}NJj6tU;TM~=*9Gaoaek6bOjP&0?H$senoO>?lz%frYz|`KutECwm%B?(fZd{A zzV(6hM2}%JQGrre+54L?Qpz_H`qxdM-H(^q36g)LO!h*M~}AhephC_jhO4hH1In1 z-B#0mxleAXK1pv9`@fMDGK8!R>dgy&yQu>qC&nPdB;LCJt!b7)z~&pgte@dc(7%q$ Qe-k@EIaS$efLZAO08@mDb^rhX literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..27c408a --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,21 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_weather.xml b/app/src/main/res/layout/activity_weather.xml new file mode 100644 index 0000000..cc3ebf4 --- /dev/null +++ b/app/src/main/res/layout/activity_weather.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/aqi.xml b/app/src/main/res/layout/aqi.xml new file mode 100644 index 0000000..26a5c7b --- /dev/null +++ b/app/src/main/res/layout/aqi.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/choose_area.xml b/app/src/main/res/layout/choose_area.xml new file mode 100644 index 0000000..53ba6e2 --- /dev/null +++ b/app/src/main/res/layout/choose_area.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + +