package com.example.Soc.algorism;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.TextView;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class MainActivity extends AppCompatActivity {
String feedUrl = "http://localhost:52570/Service1.svc/GetDataUsingDataContract/";
String responseString;
TextView txtView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtView = (TextView) findViewById(R.id.textView);
new GetData().execute(); // exécution de la requête
}
public class GetData extends AsyncTask<Void, Void, String> {
@Override
protected void onPreExecute()
{
super.onPreExecute();
Log.i("onPreExecute","Creation fait avec succee!!!");
}
@Override
protected Void doInBackground(Void... params) {
HttpClient client = new DefaultHttpClient(); // HttpClient est obsolète, faut utiliser HttpURLConnection
HttpGet getRequest = new HttpGet(feedUrl);
try {
HttpResponse response = client.execute(getRequest);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if(statusCode != 200) return null;
InputStream jsonStream = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader((jsonStream)));
StringBuilder builder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
return builder.toString(); // retourne le résultat en paramètre dans onPostExecute
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String result) {
super.onPreExecute();
Log.i("onPreExecute","Creation fait avec succee!!!");
if (result != null) txtView.setText(result); // on vérifie si le résultat existe, faut prévoir la gestion des erreurs
}
}
}