thelittlewozniak

Untitled

Jan 12th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.75 KB | None | 0 0
  1. package com.thelittlewozniak.theitguys;
  2.  
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.os.AsyncTask;
  6.  
  7. import com.fasterxml.jackson.core.type.TypeReference;
  8. import com.fasterxml.jackson.databind.ObjectMapper;
  9. import com.thelittlewozniak.theitguys.pojo.Utilisateur;
  10.  
  11. import java.io.DataOutputStream;
  12. import java.io.IOException;
  13. import java.io.InputStream;
  14. import java.io.InputStreamReader;
  15. import java.net.HttpURLConnection;
  16. import java.net.URL;
  17. import java.util.Scanner;
  18.  
  19. /**
  20.  * Created by natha on 1/12/2019.
  21.  */
  22.  
  23. public class LoginAsyncTask extends AsyncTask<String,String,Utilisateur> {
  24.     private Activity activity;
  25.     private Intent intent;
  26.     public LoginAsyncTask(Activity act){
  27.         this.activity=act;
  28.     }
  29.     @Override
  30.     protected Utilisateur doInBackground(String... strings) {
  31.         Utilisateur u=new Utilisateur();
  32.         u.setId(-1);
  33.         try{
  34.             URL url=new URL("http://androidweb.azurewebsites.net/api/Utilisateur/Login");
  35.             HttpURLConnection urlConnection=(HttpURLConnection) url.openConnection();
  36.             urlConnection.setDoOutput(true);
  37.             urlConnection.setInstanceFollowRedirects(false);
  38.             urlConnection.setRequestMethod("POST");
  39.             urlConnection.setRequestProperty("Content-Type","application/form-data");
  40.             urlConnection.setRequestProperty("Content-Length",Integer.toString(("pseudo="+strings[0]+"motDePasse="+strings[1]).length()));
  41.             urlConnection.setUseCaches(false);
  42.             DataOutputStream wri=new DataOutputStream(urlConnection.getOutputStream());
  43.             wri.write(("pseudo="+strings[0]+"motDePasse="+strings[1]).getBytes());
  44.             urlConnection.setConnectTimeout(5000);
  45.             urlConnection.connect();
  46.             if(urlConnection.getResponseCode()==200){
  47.                 InputStream stream =urlConnection.getInputStream();
  48.                 InputStreamReader inputStreamReader=new InputStreamReader(stream,"UTF-8");
  49.                 Scanner scanner=new Scanner(inputStreamReader);
  50.                 try{
  51.                     u=new ObjectMapper().readValue(scanner.next(), new TypeReference<Utilisateur>() {});
  52.                 }
  53.                 catch (IOException e){
  54.                     e.printStackTrace();
  55.                 }
  56.             }
  57.             urlConnection.disconnect();
  58.         }
  59.         catch (Exception e){
  60.             e.printStackTrace();
  61.         }
  62.         return u;
  63.     }
  64.  
  65.     @Override
  66.     protected void onPostExecute(Utilisateur utilisateur) {
  67.         super.onPostExecute(utilisateur);
  68.         if(utilisateur!=null){
  69.             intent=new Intent(activity,ConversationListActivity.class);
  70.             intent.putExtra("user",String.valueOf(utilisateur.getId()));
  71.             activity.startActivityForResult(intent,3);
  72.         }
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment