JAVA   66

Untitled

Guest on 23rd June 2022 01:05:37 AM

  1. public class MainActivity extends AppCompatActivity {
  2.  
  3.     TextView weather, locationTv;
  4.  
  5.  
  6.     public static String baseUrl = "http://api.openweathermap.org/";
  7.     public static String appId = "dd4cc28378b47c88f30a80f67f64f67c";
  8.     String zip = "31032";
  9.     String countryCode = "+1";
  10.     public static String units = "imperial";
  11.  
  12.  
  13.     @Override
  14.     protected void onCreate(Bundle savedInstanceState) {
  15.         super.onCreate(savedInstanceState);
  16.         setContentView(R.layout.activity_main);
  17.  
  18.         findViewById(R.id.weather_btn).setOnClickListener(new View.OnClickListener() {
  19.             @Override
  20.             public void onClick(View view) {
  21.                 getWeather();
  22.  
  23.             }
  24.         });
  25.         locationTv = findViewById(R.id.location_tv);
  26.         weather = findViewById(R.id.weather_tv);
  27.  
  28.     }
  29.  
  30.  
  31.     void getWeather() {
  32.         Retrofit retrofit = new Retrofit.Builder()
  33.                 .baseUrl("http://api.openweathermap.org/")
  34.                 .addConverterFactory(GsonConverterFactory.create())
  35.                 .build();
  36.         WeatherServiceInterface weatherService = retrofit.create(com.hfad.myweather.WeatherServiceInterface.class);
  37.  
  38.         Call<WeatherResponse> call = weatherService.getMyCurrentWeather(zip, countryCode, appId, units);
  39.         call.enqueue(new Callback<WeatherResponse>() {
  40.             @Override
  41.             public void onResponse(@NonNull Call<WeatherResponse> call, @NonNull Response<WeatherResponse> response) {
  42.  
  43.                 if (response.isSuccessful()) {
  44.                     if (response.body() != null) {
  45.                         WeatherResponse weatherResponse = response.body();
  46.  
  47.                         String stringBuilder = "Country: " +
  48.                                 weatherResponse.sys.country +
  49.                                 "\n" +
  50.                                 "Temperature: " +
  51.                                 weatherResponse.main.temp +
  52.                                 "\n" +
  53.                                 "Temperature(Min): " +
  54.                                 weatherResponse.main.tempMin +
  55.                                 "\n" +
  56.                                 "Temperature(Max): " +
  57.                                 weatherResponse.main.tempMax +
  58.                                 "\n" +
  59.                                 "Humidity: " +
  60.                                 weatherResponse.main.humidity +
  61.                                 "\n" +
  62.                                 "Pressure: " +
  63.                                 weatherResponse.main.pressure;
  64.                         weather.setText(stringBuilder);
  65.                     }
  66.                 }
  67.  
  68.             }
  69.  
  70.             @Override
  71.             public void onFailure(Call<WeatherResponse> call, Throwable t) {
  72.                 //add error handler
  73.             }
  74.         });
  75.     }
  76. }

Raw Paste


Login or Register to edit or fork this paste. It's free.