Advertisement
Guest User

Code

a guest
Jun 25th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.77 KB | None | 0 0
  1. package bjd.adrian.shopserach;
  2.  
  3. import android.app.AlertDialog;
  4. import android.content.Context;
  5. import android.os.AsyncTask;
  6. import android.widget.Toast;
  7.  
  8. import org.json.JSONArray;
  9. import org.json.JSONException;
  10. import org.json.JSONObject;
  11.  
  12. import java.io.BufferedReader;
  13. import java.io.BufferedWriter;
  14. import java.io.IOException;
  15. import java.io.InputStream;
  16. import java.io.InputStreamReader;
  17. import java.io.OutputStream;
  18. import java.io.OutputStreamWriter;
  19. import java.net.HttpURLConnection;
  20. import java.net.MalformedURLException;
  21. import java.net.URL;
  22. import java.net.URLEncoder;
  23. import java.util.ArrayList;
  24.  
  25. public class BackgroundWorker extends AsyncTask<String, Void, String>
  26. {
  27.  
  28.     Context context;
  29.  
  30.     public BackgroundWorker(Context ctx)
  31.     {
  32.         context = ctx;
  33.     }
  34.  
  35.     ArrayList<String> mNames;
  36.     @Override
  37.     protected void onPreExecute()
  38.     {
  39.         super.onPreExecute();
  40.         mNames = new ArrayList<>();
  41.     }
  42.  
  43.     @Override
  44.     protected String doInBackground(String... params)
  45.     {
  46.         String type = params [0];
  47.         String name = params[1];
  48.         if(type.equals("serach"))
  49.         {
  50.             String result = "";
  51.             try
  52.             {
  53.                 URL serachURL = new URL("http://192.168.100.8/szukajProduktu.php");
  54.                 HttpURLConnection httpURLConnection = (HttpURLConnection) serachURL.openConnection();
  55.                 httpURLConnection.setDoInput(true);
  56.                 httpURLConnection.setDoOutput(true);
  57.                 httpURLConnection.setRequestMethod("POST");
  58.                 OutputStream outputStream = httpURLConnection.getOutputStream();
  59.                 BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
  60.  
  61.  
  62.                 String data = URLEncoder.encode("name_product", "UTF-8")+"="+URLEncoder.encode(name, "UTF-8");
  63.  
  64.                 bufferedWriter.write(data);
  65.                 bufferedWriter.flush();
  66.                 bufferedWriter.close();
  67.                 outputStream.close();
  68.  
  69.                 InputStream inputStream = httpURLConnection.getInputStream();
  70.                 // Implementacja BufferedReader-a aby nadpisał zmienną result informacjami otrzymanymi od serwera
  71.                 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1"));
  72.                 String line = "";
  73.                 while ((line = bufferedReader.readLine()) != null)
  74.                 {
  75.                     result += line;
  76.                 }
  77.  
  78.                 bufferedReader.close();
  79.                 inputStream.close();
  80.                 httpURLConnection.disconnect();
  81.  
  82.                 return result;
  83.             }
  84.             catch (MalformedURLException e)
  85.             {
  86.                 e.printStackTrace();
  87.             }
  88.             catch (IOException e) {
  89.                 e.printStackTrace();
  90.             }
  91.  
  92.             try
  93.             {
  94.                 JSONArray jsonArray = new JSONArray(result);
  95.                 for(int i = 0; i<jsonArray.length(); i++)
  96.                 {
  97.                     JSONObject jsonObject = jsonArray.getJSONObject(i);
  98.                     mNames.add(jsonObject.getString("nazwa"));
  99.                 }
  100.             }
  101.             catch (JSONException e)
  102.             {
  103.                 e.printStackTrace();
  104.             }
  105.         }
  106.  
  107.  
  108.         return null;
  109.  
  110.  
  111.     }
  112.  
  113.     @Override
  114.     protected void onPostExecute(String result) {
  115.         super.onPostExecute(result);
  116.         Toast.makeText(context, result, Toast.LENGTH_SHORT).show();
  117.         String zTab = mNames.get(0);
  118.         Toast.makeText(context, zTab, Toast.LENGTH_LONG).show();
  119.     }
  120.  
  121.     @Override
  122.     protected void onProgressUpdate(Void... values) {
  123.         super.onProgressUpdate(values);
  124.     }
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement