commit 106b1c340d04a687823ff8c919990cb43a85ee4e parent f633744670e8b0bf64b80e642281933e6610084d Author: William Lindholm <a22willi@student.his.se> Date: Wed, 3 May 2023 10:17:44 +0200 Added networking code. Diffstat:
| M | app/src/main/java/com/example/project_assignment/JsonTask.java | | | 65 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- |
1 file changed, 63 insertions(+), 2 deletions(-)
diff --git a/app/src/main/java/com/example/project_assignment/JsonTask.java b/app/src/main/java/com/example/project_assignment/JsonTask.java @@ -1,5 +1,66 @@ -package com.example.project_assignment; +package com.example.networking; -public class JsonTask { +import android.os.AsyncTask; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URL; + +public class JsonTask extends AsyncTask<String, String, String> { + + public interface JsonTaskListener { + void onPostExecute(String json); + } + + private HttpURLConnection connection = null; + private BufferedReader reader = null; + private final JsonTaskListener listener; + + @SuppressWarnings("deprecation") + public JsonTask(JsonTaskListener listener) { + this.listener = listener; + } + + protected String doInBackground(String... params) { + try { + URL url = new URL(params[0]); + connection = (HttpURLConnection) url.openConnection(); + connection.connect(); + + InputStream stream = connection.getInputStream(); + reader = new BufferedReader(new InputStreamReader(stream)); + + StringBuilder builder = new StringBuilder(); + String line; + while ((line = reader.readLine()) != null && !isCancelled()) { + builder.append(line).append("\n"); + } + return builder.toString(); + } catch (MalformedURLException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + if (connection != null) { + connection.disconnect(); + } + try { + if (reader != null) { + reader.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + return null; + } + + @Override + protected void onPostExecute(String json) { + listener.onPostExecute(json); + } }