diff options
Diffstat (limited to 'app/src/main/java/com/lonkaars/bingo3/WeatherActivity.java')
-rw-r--r-- | app/src/main/java/com/lonkaars/bingo3/WeatherActivity.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/app/src/main/java/com/lonkaars/bingo3/WeatherActivity.java b/app/src/main/java/com/lonkaars/bingo3/WeatherActivity.java index 46c965c..3a5aa6e 100644 --- a/app/src/main/java/com/lonkaars/bingo3/WeatherActivity.java +++ b/app/src/main/java/com/lonkaars/bingo3/WeatherActivity.java @@ -1,12 +1,27 @@ package com.lonkaars.bingo3; import android.os.Bundle; +import android.util.Log; import android.view.View; +import android.widget.ArrayAdapter; +import android.widget.ListView; +import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; +import com.android.volley.Request; +import com.android.volley.RequestQueue; +import com.android.volley.Response; +import com.android.volley.VolleyError; +import com.android.volley.toolbox.JsonObjectRequest; +import com.android.volley.toolbox.Volley; import com.google.android.material.appbar.MaterialToolbar; +import org.json.JSONArray; +import org.json.JSONObject; + +import java.util.ArrayList; + public class WeatherActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { @@ -18,4 +33,37 @@ public class WeatherActivity extends AppCompatActivity { finish(); }); } + + public void fetch_weather_data(View view) { + findViewById(R.id.loader).setVisibility(View.VISIBLE); + ListView list = findViewById(R.id.forecast_list); + RequestQueue queue = Volley.newRequestQueue(this); + String url = "https://wttr.in/?format=j1"; + + JsonObjectRequest jsonObjectRequest = new JsonObjectRequest + (Request.Method.GET, url, null, response -> { + findViewById(R.id.loader).setVisibility(View.INVISIBLE); + + ArrayList<String> data = new ArrayList<String>(); + + try { + JSONArray forecast = response.getJSONArray("weather"); + for (int i = 0; i < forecast.length(); i++) { + JSONObject rec = forecast.getJSONObject(i); + data.add(String.format("%s: %s°C", rec.getString("date"), rec.getString("avgtempC"))); + } + } catch (Exception e) { + Toast.makeText(WeatherActivity.this, "foutje!", Toast.LENGTH_SHORT).show(); + return; + } + + final ArrayAdapter<String> adapter = new ArrayAdapter<String>(WeatherActivity.this, + android.R.layout.simple_list_item_1, data); + list.setAdapter(adapter); + }, error -> { + findViewById(R.id.loader).setVisibility(View.INVISIBLE); + Toast.makeText(WeatherActivity.this, "foutje!", Toast.LENGTH_SHORT).show(); + }); + queue.add(jsonObjectRequest); + } }
\ No newline at end of file |