Blame view

PremiereActivite/app/src/main/java/com/example/app_10p5/NetworkThread.java 2.75 KB
520cecde   JLo'w   Un petit plus, un...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
  package com.example.app_10p5;
  
  import android.os.AsyncTask;
  
  import org.json.JSONObject;
  
  import java.io.BufferedReader;
  import java.io.InputStreamReader;
  import java.io.OutputStreamWriter;
  import java.net.HttpURLConnection;
  import java.net.URL;
  import java.util.HashMap;
  import java.util.Map;
  
  import javax.net.ssl.HttpsURLConnection;
  
  /**
   * Created by beaus on 30/04/2016.
   */
  public class NetworkThread extends AsyncTask<Void, Void, JSONObject> {
      public ASyncResponse delegate = null;
      private URL mUrl;
      private HashMap<String, String> mParam;
  
      NetworkThread(URL url, HashMap<String, String> param){
  
          mUrl = url;
          mParam = param;
      }
  
      @Override
      protected void onPreExecute() {
          /**
           * show dialog
           */
          super.onPreExecute();
      }
  
      @Override
      protected JSONObject doInBackground(Void ... params) {
  
          /**
           * Do network related stuff
           * return string response.
           */
  
          JSONObject json = new JSONObject();
          try {
              HttpURLConnection httpCo = (HttpURLConnection) mUrl.openConnection();
              httpCo.setDoOutput(true);
  
897655b8   JLo'w   timeout
52
53
54
              httpCo.setConnectTimeout(20000);
              httpCo.setReadTimeout(20000);
  
520cecde   JLo'w   Un petit plus, un...
55
56
              httpCo.connect();
  
973d84fa   JLo'w   Construction des ...
57
58
59
              boolean debut = true;
              StringBuilder buffer = new StringBuilder();
  
520cecde   JLo'w   Un petit plus, un...
60
              for (Map.Entry<String, String> entry : mParam.entrySet()) {
973d84fa   JLo'w   Construction des ...
61
62
63
64
65
66
67
68
69
70
                  if(debut){
                      debut = false;
                  }
                  else
                  {
                      buffer.append("&");
                  }
                  buffer.append(entry.getKey());
                  buffer.append("=");
                  buffer.append(entry.getValue());
520cecde   JLo'w   Un petit plus, un...
71
              }
973d84fa   JLo'w   Construction des ...
72
73
74
  
              OutputStreamWriter wr = new OutputStreamWriter(httpCo.getOutputStream());
              wr.write(buffer.toString());
520cecde   JLo'w   Un petit plus, un...
75
76
77
78
79
80
81
82
83
84
85
              wr.flush();
  
              String response = "";
  
              if (httpCo.getResponseCode() == HttpsURLConnection.HTTP_OK) {
                  String line;
                  BufferedReader br = new BufferedReader(new InputStreamReader(httpCo.getInputStream()));
                  while ((line = br.readLine()) != null) {
                      response += line;
                  }
              } else {
973d84fa   JLo'w   Construction des ...
86
                  response = "{\"status\":" + httpCo.getResponseCode() + "}";
520cecde   JLo'w   Un petit plus, un...
87
88
89
90
              }
  
              json = new JSONObject(response);
  
520cecde   JLo'w   Un petit plus, un...
91
              httpCo.disconnect();
91d8fc9e   JLo'w   Enlèvement des pr...
92
          } catch (Throwable t) {
897655b8   JLo'w   timeout
93
              System.out.println("Exception: " + t.toString());
520cecde   JLo'w   Un petit plus, un...
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
          }
  
          return json;
      }
  
      @Override
      protected void onPostExecute(JSONObject result) {
  
          /**
           * update ui thread and remove dialog
           */
          super.onPostExecute(result);
          delegate.processFinish(result);
      }
  }