소개글
개발환경- Android Studio 2.2.3
- JDK 1.8
- compileSdkVersion 23
- buildToolsVersion "23.0.2"
- minSdkVersion 16
- targetSdkVersion 23
사용 라이브러리
- okhttp3:3.0.1
- jackson-databind:2.6.3
OpenWeather 에서 제공되는 무료 날씨 API 를 이용한 날씨 앱 입니다.
Fragment, TabLayout, ViewPager, ExpandableListView 를 이용하여 UI 를 구성하였습니다.
기능
- 특정 도시에 대한 현재 날씨
- 특정 도시에 대한 날씨 예보
- 스와이프로 화면 전환
- JSON 파싱
- Thread & Handler 를 이용한 동기, 비동기 처리
- Okhttp 를 이용한 네트워크 통신
- ExpandableListVIew 를 이용한 데이터 출력
- Fragment - Activity 간의 통신
컴파일 실행환경
Android Studio 2.2.3, JDK 1.8, Android API LEVEL 16압축파일 내 파일목록
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/compiler.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/copyright/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/copyright/profiles_settings.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/encodings.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/gradle.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/misc.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/modules.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/runConfigurations.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/vcs.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/build.gradle
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/proguard-rules.pro
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/androidTest/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/androidTest/java/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/androidTest/java/com/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/androidTest/java/com/massivcode/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/androidTest/java/com/massivcode/jackson2/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/androidTest/java/com/massivcode/jackson2/ApplicationTest.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/AndroidManifest.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/activity/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/activity/MainActivity.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/adapters/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/adapters/ExpAdapter.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/adapters/PagerAdapter.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/fragments/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/fragments/CurrentWeatherFragment.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/fragments/ForecastFragment.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/fragments/SearchFragment.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/listener/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/listener/SearchFragmentToActivityListener.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/models/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/models/CurrentWeather.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/models/Forecast.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/drawable/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/drawable/border_et.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/layout/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/layout/activity_main.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/layout/fragment_current_weather.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/layout/fragment_forecast.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/layout/fragment_search.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/layout/item_child.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/layout/item_group.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-hdpi/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-hdpi/ic_launcher.png
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-mdpi/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-mdpi/ic_launcher.png
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-xhdpi/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-xhdpi/ic_launcher.png
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-xxhdpi/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-xxxhdpi/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/values-w820dp/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/values-w820dp/dimens.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/values/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/values/colors.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/values/dimens.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/values/strings.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/values/styles.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/test/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/test/java/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/test/java/com/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/test/java/com/massivcode/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/test/java/com/massivcode/jackson2/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/test/java/com/massivcode/jackson2/ExampleUnitTest.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/build.gradle
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/gradle.properties
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/gradle/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/gradle/wrapper/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/gradle/wrapper/gradle-wrapper.jar
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/gradle/wrapper/gradle-wrapper.properties
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/gradlew
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/gradlew.bat
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/settings.gradle
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/compiler.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/copyright/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/copyright/profiles_settings.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/encodings.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/gradle.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/misc.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/modules.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/runConfigurations.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/.idea/vcs.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/build.gradle
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/proguard-rules.pro
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/androidTest/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/androidTest/java/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/androidTest/java/com/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/androidTest/java/com/massivcode/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/androidTest/java/com/massivcode/jackson2/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/androidTest/java/com/massivcode/jackson2/ApplicationTest.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/AndroidManifest.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/activity/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/activity/MainActivity.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/adapters/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/adapters/ExpAdapter.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/adapters/PagerAdapter.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/fragments/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/fragments/CurrentWeatherFragment.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/fragments/ForecastFragment.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/fragments/SearchFragment.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/listener/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/listener/SearchFragmentToActivityListener.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/models/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/models/CurrentWeather.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/java/com/massivcode/jackson2/models/Forecast.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/drawable/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/drawable/border_et.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/layout/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/layout/activity_main.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/layout/fragment_current_weather.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/layout/fragment_forecast.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/layout/fragment_search.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/layout/item_child.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/layout/item_group.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-hdpi/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-hdpi/ic_launcher.png
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-mdpi/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-mdpi/ic_launcher.png
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-xhdpi/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-xhdpi/ic_launcher.png
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-xxhdpi/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-xxxhdpi/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/values-w820dp/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/values-w820dp/dimens.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/values/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/values/colors.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/values/dimens.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/values/strings.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/main/res/values/styles.xml
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/test/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/test/java/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/test/java/com/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/test/java/com/massivcode/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/test/java/com/massivcode/jackson2/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/app/src/test/java/com/massivcode/jackson2/ExampleUnitTest.java
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/build.gradle
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/gradle.properties
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/gradle/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/gradle/wrapper/
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/gradle/wrapper/gradle-wrapper.jar
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/gradle/wrapper/gradle-wrapper.properties
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/gradlew
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/gradlew.bat
HappyCampus_Weather-master-f77e4f076494797d0fe9a180344392fddd004471/settings.gradle