summaryrefslogtreecommitdiff
path: root/app/src/main/java/com/lonkaars/bingo3/WeatherActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/com/lonkaars/bingo3/WeatherActivity.java')
-rw-r--r--app/src/main/java/com/lonkaars/bingo3/WeatherActivity.java48
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