diff --git a/ShakeAndCraft/app/build.gradle b/ShakeAndCraft/app/build.gradle index 34ade2c..a8839fc 100644 --- a/ShakeAndCraft/app/build.gradle +++ b/ShakeAndCraft/app/build.gradle @@ -51,5 +51,7 @@ dependencies { implementation "androidx.room:room-runtime:2.5.1" kapt "androidx.room:room-compiler:2.5.1" implementation "androidx.room:room-ktx:2.5.1" + 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/ShakeAndCraft/app/src/main/java/com/example/shakecraft/HomeFragment.kt b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/HomeFragment.kt index 3725263..951576f 100644 --- a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/HomeFragment.kt +++ b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/HomeFragment.kt @@ -14,7 +14,6 @@ import androidx.navigation.fragment.findNavController import com.example.shakecraft.model.Player - class HomeFragment : Fragment() { private lateinit var pseudo : TextView private lateinit var progressbar : ProgressBar @@ -32,6 +31,7 @@ class HomeFragment : Fragment() { super.onCreate(savedInstanceState) } + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? diff --git a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/MainActivity.kt b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/MainActivity.kt index 20c6e76..de17953 100644 --- a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/MainActivity.kt +++ b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/MainActivity.kt @@ -12,12 +12,20 @@ import androidx.navigation.findNavController import androidx.navigation.ui.NavigationUI import androidx.navigation.ui.setupWithNavController import com.example.shakecraft.data.Stub +import com.example.shakecraft.services.OpenWeatherMapService import com.google.android.material.bottomnavigation.BottomNavigationView +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext +import retrofit2.Retrofit +import retrofit2.converter.gson.GsonConverterFactory class MainActivity: AppCompatActivity() { var currentPlayer = Stub().load() + var isRaining = false @RequiresApi(Build.VERSION_CODES.R) @@ -40,6 +48,26 @@ class MainActivity: AppCompatActivity() { hideSystemUI() setContentView(R.layout.activity_main) + val apiKey = "85a2724ad38b3994c2b7ebe1d239bbff" + val cityName = "Clermont-Ferrand" + + val retrofit = Retrofit.Builder() + .baseUrl("https://api.openweathermap.org/data/2.5/") + .addConverterFactory(GsonConverterFactory.create()) + .build() + + val openWeatherMapService = retrofit.create(OpenWeatherMapService::class.java) + + GlobalScope.launch(Dispatchers.Main) { + val weatherResponse = withContext(Dispatchers.IO) { + openWeatherMapService.getCurrentWeather(cityName, apiKey) + } + + isRaining = + weatherResponse.weather.any { it.main.contains("rain", ignoreCase = true) } + + println(isRaining) + } bottomNav = findViewById(R.id.bottomNavigationView) val navController = findNavController(R.id.fragment) @@ -56,9 +84,12 @@ class MainActivity: AppCompatActivity() { } + } + + override fun onResume() { super.onResume() diff --git a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/data/WeatherResponse.kt b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/data/WeatherResponse.kt new file mode 100644 index 0000000..131320e --- /dev/null +++ b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/data/WeatherResponse.kt @@ -0,0 +1,19 @@ +package com.example.shakecraft.data + +data class WeatherResponse( + val weather: List, + val info: Info +) + +data class Weather( + val id: Int, + val main: String, + val description: String, + val icon: String +) + +data class Info( + val temp: Double, + val feelsLike: Double, + val humidity: Int +) \ No newline at end of file diff --git a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/services/OpenWeatherMapService.kt b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/services/OpenWeatherMapService.kt new file mode 100644 index 0000000..3298cb9 --- /dev/null +++ b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/services/OpenWeatherMapService.kt @@ -0,0 +1,12 @@ +package com.example.shakecraft.services +import com.example.shakecraft.data.WeatherResponse +import retrofit2.http.GET +import retrofit2.http.Query + +interface OpenWeatherMapService { + @GET("weather") + suspend fun getCurrentWeather( + @Query("q") cityName: String, + @Query("appid") apiKey: String + ): WeatherResponse +} \ No newline at end of file