From 49871926bdf793a1d2893f7f223ee75ce95e88e2 Mon Sep 17 00:00:00 2001 From: valentin Date: Sun, 15 Nov 2020 14:01:53 +0100 Subject: [PATCH] Adding Classes to retrieve weather infos from API --- app/build.gradle | 3 +++ .../vj/apps/myweather/network/ApiClient.java | 11 ++++++++++ .../vj/apps/myweather/network/Get.java | 4 ++++ .../vj/apps/myweather/weather/Coord.java | 16 ++++++++++++++ .../vj/apps/myweather/weather/Temps.java | 22 +++++++++++++++++++ .../vj/apps/myweather/weather/Weather.java | 14 ++++++++++++ .../myweather/weather/WeatherDescription.java | 17 ++++++++++++++ 7 files changed, 87 insertions(+) create mode 100644 app/src/main/java/fr/romanet/vj/apps/myweather/network/ApiClient.java create mode 100644 app/src/main/java/fr/romanet/vj/apps/myweather/network/Get.java create mode 100644 app/src/main/java/fr/romanet/vj/apps/myweather/weather/Coord.java create mode 100644 app/src/main/java/fr/romanet/vj/apps/myweather/weather/Temps.java create mode 100644 app/src/main/java/fr/romanet/vj/apps/myweather/weather/Weather.java create mode 100644 app/src/main/java/fr/romanet/vj/apps/myweather/weather/WeatherDescription.java diff --git a/app/build.gradle b/app/build.gradle index 3eab256..67f7654 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -40,4 +40,7 @@ dependencies { androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' implementation "androidx.room:room-runtime:2.2.5" annotationProcessor "androidx.room:room-compiler:2.2.5" + implementation 'com.squareup.retrofit2:retrofit:2.9.0' + implementation 'com.squareup.retrofit2:converter-gson:2.9.0' + } \ No newline at end of file diff --git a/app/src/main/java/fr/romanet/vj/apps/myweather/network/ApiClient.java b/app/src/main/java/fr/romanet/vj/apps/myweather/network/ApiClient.java new file mode 100644 index 0000000..0960d3b --- /dev/null +++ b/app/src/main/java/fr/romanet/vj/apps/myweather/network/ApiClient.java @@ -0,0 +1,11 @@ +package fr.romanet.vj.apps.myweather.network; + +import retrofit2.Retrofit; + +public class ApiClient { + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("https://api.github.com/") + .build(); + + GitHubService service = retrofit.create(GitHubService.class); +} diff --git a/app/src/main/java/fr/romanet/vj/apps/myweather/network/Get.java b/app/src/main/java/fr/romanet/vj/apps/myweather/network/Get.java new file mode 100644 index 0000000..81c5f17 --- /dev/null +++ b/app/src/main/java/fr/romanet/vj/apps/myweather/network/Get.java @@ -0,0 +1,4 @@ +package fr.romanet.vj.apps.myweather.network; + +public class Get { +} diff --git a/app/src/main/java/fr/romanet/vj/apps/myweather/weather/Coord.java b/app/src/main/java/fr/romanet/vj/apps/myweather/weather/Coord.java new file mode 100644 index 0000000..669cf1f --- /dev/null +++ b/app/src/main/java/fr/romanet/vj/apps/myweather/weather/Coord.java @@ -0,0 +1,16 @@ +package fr.romanet.vj.apps.myweather.weather; + +import com.google.gson.annotations.SerializedName; + +public class Coord { + + @SerializedName("lon") + private String _lon; + @SerializedName("lat") + private String _lat; + + public Coord(String lon, String lat){ + _lon = lon; + _lat = lat; + } +} diff --git a/app/src/main/java/fr/romanet/vj/apps/myweather/weather/Temps.java b/app/src/main/java/fr/romanet/vj/apps/myweather/weather/Temps.java new file mode 100644 index 0000000..548ee37 --- /dev/null +++ b/app/src/main/java/fr/romanet/vj/apps/myweather/weather/Temps.java @@ -0,0 +1,22 @@ +package fr.romanet.vj.apps.myweather.weather; + +import com.google.gson.annotations.SerializedName; + +public class Temps { + + @SerializedName("temp") + private String _temp; + @SerializedName("feels_like") + private String _temp_feels_like; + @SerializedName("temp_min") + private String _temp_min; + @SerializedName("temp_max") + private String _temp_max; + + public Temps(String temp, String temp_feels_like, String temp_min, String temp_max) { + _temp = temp; + _temp_feels_like = temp_feels_like; + _temp_min = temp_min; + _temp_max = temp_max; + } +} diff --git a/app/src/main/java/fr/romanet/vj/apps/myweather/weather/Weather.java b/app/src/main/java/fr/romanet/vj/apps/myweather/weather/Weather.java new file mode 100644 index 0000000..6d49198 --- /dev/null +++ b/app/src/main/java/fr/romanet/vj/apps/myweather/weather/Weather.java @@ -0,0 +1,14 @@ +package fr.romanet.vj.apps.myweather.weather; + +import com.google.gson.annotations.SerializedName; + +public class Weather { + + @SerializedName("coord") + private Coord _coord; + @SerializedName("main") + private Temps _temps; + @SerializedName("weather") + private WeatherDescription _weatherDescription; + +} diff --git a/app/src/main/java/fr/romanet/vj/apps/myweather/weather/WeatherDescription.java b/app/src/main/java/fr/romanet/vj/apps/myweather/weather/WeatherDescription.java new file mode 100644 index 0000000..50386c9 --- /dev/null +++ b/app/src/main/java/fr/romanet/vj/apps/myweather/weather/WeatherDescription.java @@ -0,0 +1,17 @@ +package fr.romanet.vj.apps.myweather.weather; + +import com.google.gson.annotations.SerializedName; + +public class WeatherDescription { + + @SerializedName("description") + private String _description; + @SerializedName("icon") + private String _icon; + + public WeatherDescription(String description, String icon){ + _description = description; + _icon = icon; + } + +}