Advertisement
Guest User

Search

a guest
Mar 28th, 2019
373
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 18.93 KB | None | 0 0
  1. package com.vetdevelopers.vetnetwork;
  2.  
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.content.SharedPreferences;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.os.Bundle;
  8. import android.view.View;
  9. import android.widget.ArrayAdapter;
  10. import android.widget.Button;
  11. import android.widget.EditText;
  12. import android.widget.Spinner;
  13. import android.widget.Toast;
  14.  
  15. import com.android.volley.AuthFailureError;
  16. import com.android.volley.NetworkError;
  17. import com.android.volley.NoConnectionError;
  18. import com.android.volley.ParseError;
  19. import com.android.volley.Request;
  20. import com.android.volley.Response;
  21. import com.android.volley.ServerError;
  22. import com.android.volley.TimeoutError;
  23. import com.android.volley.VolleyError;
  24. import com.android.volley.toolbox.StringRequest;
  25.  
  26. import org.json.JSONArray;
  27. import org.json.JSONObject;
  28.  
  29. import java.util.ArrayList;
  30. import java.util.Arrays;
  31. import java.util.HashMap;
  32. import java.util.HashSet;
  33. import java.util.List;
  34. import java.util.Map;
  35. import java.util.Set;
  36.  
  37. public class SearchActivity extends AppCompatActivity
  38. {
  39.     private Button search_searchButton;
  40.     private EditText search_name, search_phone;
  41.     private Spinner search_postingArea_spinner, search_district_spinner, search_division_spinner;
  42.     private String name = "", phone = "", postingArea = "", district = "", division = "",
  43.             POSTING_AREA = "posting_area";
  44.     public List<String> list = new ArrayList<String>(Arrays.asList("")); //variable vanish problem , but why?
  45.     //public Set<String> setEmpty = new HashSet<String>(Arrays.asList(""));
  46.  
  47.     final String PREF_NAME = "prefs";
  48.     SharedPreferences sharedPreferences;
  49.     SharedPreferences.Editor editor;
  50.  
  51.  
  52.     @Override
  53.     protected void onCreate(Bundle savedInstanceState)
  54.     {
  55.         super.onCreate(savedInstanceState);
  56.         setContentView(R.layout.activity_search);
  57.  
  58.         search_name = (EditText) findViewById(R.id.search_name);
  59.         search_phone = (EditText) findViewById(R.id.search_phone);
  60.         search_postingArea_spinner = (Spinner) findViewById(R.id.search_postingArea_spinner);
  61.         search_district_spinner = (Spinner) findViewById(R.id.search_district_spinner);
  62.         search_division_spinner = (Spinner) findViewById(R.id.search_division_spinner);
  63.         search_searchButton = (Button) findViewById(R.id.search_searchButton);
  64.  
  65.  
  66.         StringRequest stringRequest = new StringRequest
  67.                 (Request.Method.POST, ServerConstants.DOCTOR_POSTING_AREA,
  68.                         new Response.Listener<String>()
  69.                         {
  70.                             @Override
  71.                             public void onResponse(String response)
  72.                             {
  73.                                 if (response.contains("Connection failed!"))
  74.                                 {
  75.                                     //popupTextView.setText(response);
  76.                                     //mDialog.show();
  77.                                     Toast.makeText(SearchActivity.this, response, Toast.LENGTH_SHORT).show();
  78.                                 }
  79.                                 else if (response.contains("Please check your ID & Password!"))
  80.                                 {
  81.                                     //popupTextView.setText(response);
  82.                                     //mDialog.show();
  83.                                     Toast.makeText(SearchActivity.this, response, Toast.LENGTH_SHORT).show();
  84.                                 }
  85.                                 else if (response.contains("Improper request method!"))
  86.                                 {
  87.                                     //popupTextView.setText(response);
  88.                                     //mDialog.show();
  89.                                     Toast.makeText(SearchActivity.this, response, Toast.LENGTH_SHORT).show();
  90.                                 }
  91.                                 else if (response.contains("Invalid platform!"))
  92.                                 {
  93.                                     //popupTextView.setText(response);
  94.                                     //mDialog.show();
  95.                                     Toast.makeText(SearchActivity.this, response, Toast.LENGTH_SHORT).show();
  96.                                 }
  97.                                 else if (response.contains("sql error"))
  98.                                 {
  99.                                     Toast.makeText(SearchActivity.this, response, Toast.LENGTH_SHORT).show();
  100.                                 }
  101.  
  102.                                 //server data  retrieve code below...
  103.                                 else
  104.                                 {
  105.                                     Set<String> set1 = new HashSet<String>();
  106.                                     set1.add("Select");
  107.                                     try
  108.                                     {
  109.                                         JSONArray jsonArray = new JSONArray(response);
  110.                                         for (int i = 0; i < jsonArray.length(); i++)
  111.                                         {
  112.                                             JSONObject jsonObject = jsonArray.getJSONObject(i);
  113.                                             String output = jsonObject.getString("posting_area");
  114.  
  115.                                             //debug : for each row - print the two output
  116.                                             //System.out.println("debug : " + (i + 1) + " " + output1);
  117.  
  118.                                             //unique
  119.                                             if (!set1.contains(output) && !output.equals("N/A"))
  120.                                             {
  121.                                                 set1.add(output);
  122.                                                 list.add(output);
  123.                                             }
  124.                                         }
  125.                                         list.add(0, "Select");
  126.                                     }
  127.                                     catch (Exception e)
  128.                                     {
  129.                                         e.printStackTrace();
  130.                                     }
  131.  
  132.                                     System.out.println("Initial set : " + set1);
  133.                                     //list.addAll(set);
  134.  
  135.                                     sharedPreferences = getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
  136.                                     editor = sharedPreferences.edit();
  137.                                     editor.putStringSet("postingArea", set1);
  138.                                     editor.commit();
  139.  
  140.                                     System.out.println("Initial pref : " + sharedPreferences.getStringSet("postingArea", null));
  141.                                 }
  142.                             }
  143.                         }, new Response.ErrorListener()
  144.                 {
  145.                     @Override
  146.                     public void onErrorResponse(VolleyError error)
  147.                     {
  148.                         if (error instanceof TimeoutError)
  149.                         {
  150.                             Toast.makeText(SearchActivity.this, "Timeout error!", Toast.LENGTH_SHORT).show();
  151.                         }
  152.                         else if (error instanceof NoConnectionError)
  153.                         {
  154.                             Toast.makeText(SearchActivity.this, "No connection error!", Toast.LENGTH_SHORT).show();
  155.                         }
  156.                         else if (error instanceof AuthFailureError)
  157.                         {
  158.                             Toast.makeText(SearchActivity.this, "Authentication failure error!", Toast.LENGTH_SHORT).show();
  159.                         }
  160.                         else if (error instanceof NetworkError)
  161.                         {
  162.                             Toast.makeText(SearchActivity.this, "Network error!", Toast.LENGTH_SHORT).show();
  163.                         }
  164.                         else if (error instanceof ServerError)
  165.                         {
  166.                             Toast.makeText(SearchActivity.this, "Server error!", Toast.LENGTH_SHORT).show();
  167.                         }
  168.                         else if (error instanceof ParseError)
  169.                         {
  170.                             Toast.makeText(SearchActivity.this, "JSON parse error!", Toast.LENGTH_SHORT).show();
  171.                         }
  172.                     }
  173.                 })
  174.         {
  175.             @Override
  176.             protected Map<String, String> getParams()
  177.             {
  178.                 Map<String, String> params = new HashMap<String, String>();
  179.                 return params;
  180.             }
  181.  
  182.             @Override
  183.             public Map<String, String> getHeaders() throws AuthFailureError
  184.             {
  185.                 Map<String, String> headers = new HashMap<String, String>();
  186.                 headers.put("User-Agent", "VetNetwork");  ////security purpose
  187.                 return headers;
  188.             }
  189.         };
  190.  
  191.         MySingleton.getInstance(SearchActivity.this).addToRequestQueue(stringRequest);
  192.  
  193.         //getJSONFromVolley_1_2(ServerConstants.DOCTOR_POSTING_AREA);
  194.         Set<String> setEmpty = new HashSet<String>();
  195.         setEmpty.add("");
  196.         sharedPreferences = getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
  197.         Set<String> set = sharedPreferences.getStringSet("postingArea", setEmpty);
  198.  
  199.         System.out.println("Here is set : " + set);
  200.         System.out.println("List here : " + list);
  201.  
  202.         ArrayAdapter<String> arrayAdapterDivision = new ArrayAdapter<>
  203.                 (this, android.R.layout.simple_spinner_item, list);
  204.         arrayAdapterDivision.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  205.         search_postingArea_spinner.setAdapter(arrayAdapterDivision);
  206.         //search_postingArea_spinner.setSelection(0);
  207.  
  208.         search_searchButton.setOnClickListener(new View.OnClickListener()
  209.         {
  210.             @Override
  211.             public void onClick(View v)
  212.             {
  213.  
  214.                 name = search_name.getText().toString().trim();
  215.                 phone = search_phone.getText().toString().trim();
  216.                 postingArea = search_postingArea_spinner.getSelectedItem().toString();
  217.                 district = search_district_spinner.getSelectedItem().toString();
  218.                 division = search_division_spinner.getSelectedItem().toString();
  219.  
  220.                 System.out.println("debug now : " + name + " " + phone + " " + postingArea + " " +
  221.                         district + " " + division + " ");
  222.  
  223.                 StringRequest stringRequest1 = new StringRequest
  224.                         (Request.Method.POST, ServerConstants.SEARCH_URL,
  225.                                 new Response.Listener<String>()
  226.                                 {
  227.                                     @Override
  228.                                     public void onResponse(String response)
  229.                                     {
  230.                                         if (response.contains("Connection failed!"))
  231.                                         {
  232.                                             //popupTextView.setText(response);
  233.                                             //mDialog.show();
  234.                                             Toast.makeText(SearchActivity.this, response, Toast.LENGTH_SHORT).show();
  235.                                         }
  236.                                         else if (response.contains("Please check your ID & Password!"))
  237.                                         {
  238.                                             //popupTextView.setText(response);
  239.                                             //mDialog.show();
  240.                                             Toast.makeText(SearchActivity.this, response, Toast.LENGTH_SHORT).show();
  241.                                         }
  242.                                         else if (response.contains("Improper request method!"))
  243.                                         {
  244.                                             //popupTextView.setText(response);
  245.                                             //mDialog.show();
  246.                                             Toast.makeText(SearchActivity.this, response, Toast.LENGTH_SHORT).show();
  247.                                         }
  248.                                         else if (response.contains("Invalid platform!"))
  249.                                         {
  250.                                             //popupTextView.setText(response);
  251.                                             //mDialog.show();
  252.                                             Toast.makeText(SearchActivity.this, response, Toast.LENGTH_SHORT).show();
  253.                                         }
  254.                                         else if (response.contains("sql error"))
  255.                                         {
  256.                                             Toast.makeText(SearchActivity.this, response, Toast.LENGTH_SHORT).show();
  257.                                         }
  258.  
  259.                                         //server data  retrieve code below...
  260.                                         else
  261.                                         {
  262.                                             //Bundle bundle1 = jsonStringToBundle(response);
  263.  
  264.                                             ArrayList<String> arrayListName = new ArrayList<String>();
  265.                                             ArrayList<String> arrayListPhone = new ArrayList<String>();
  266.  
  267.  
  268.                                             try
  269.                                             {
  270.                                                 System.out.println("this is response : "+response);
  271.                                                 JSONArray jsonArray = new JSONArray(response);
  272.                                                 for (int i = 0; i < jsonArray.length(); i++)
  273.                                                 {
  274.                                                     JSONObject jsonObject = jsonArray.getJSONObject(i);
  275.                                                     String outputName = jsonObject.getString("name");
  276.                                                     String outputPhone = jsonObject.getString("phone");
  277.  
  278.                                                     //debug : for each row - print the two output
  279.                                                     //System.out.println("debug : " + (i + 1) + " " + output1);
  280.  
  281.                                                     //unique
  282.                                                     if (!arrayListName.contains(outputName) && !arrayListName.equals("N/A"))
  283.                                                     {
  284.                                                         arrayListName.add(outputName);
  285.                                                     }
  286.                                                     if (!arrayListPhone.contains(outputName) && !arrayListPhone.equals("N/A"))
  287.                                                     {
  288.                                                         arrayListPhone.add(outputPhone);
  289.                                                     }
  290.                                                 }
  291.  
  292.                                                 Intent browseIntent = new Intent(SearchActivity.this, BrowseActivity.class);
  293.                                                 browseIntent.putStringArrayListExtra("name",arrayListName);
  294.                                                 browseIntent.putStringArrayListExtra("phone",arrayListPhone);
  295.                                                 startActivity(browseIntent);
  296.  
  297.                                             }
  298.                                             catch (Exception e)
  299.                                             {
  300.                                                 Toast.makeText(SearchActivity.this,"No result found",Toast.LENGTH_LONG).show();
  301.                                                 e.printStackTrace();
  302.                                             }
  303.  
  304.                                         }
  305.                                     }
  306.                                 }, new Response.ErrorListener()
  307.                         {
  308.                             @Override
  309.                             public void onErrorResponse(VolleyError error)
  310.                             {
  311.                                 if (error instanceof TimeoutError)
  312.                                 {
  313.                                     Toast.makeText(SearchActivity.this, "Timeout error!", Toast.LENGTH_SHORT).show();
  314.                                 }
  315.                                 else if (error instanceof NoConnectionError)
  316.                                 {
  317.                                     Toast.makeText(SearchActivity.this, "No connection error!", Toast.LENGTH_SHORT).show();
  318.                                 }
  319.                                 else if (error instanceof AuthFailureError)
  320.                                 {
  321.                                     Toast.makeText(SearchActivity.this, "Authentication failure error!", Toast.LENGTH_SHORT).show();
  322.                                 }
  323.                                 else if (error instanceof NetworkError)
  324.                                 {
  325.                                     Toast.makeText(SearchActivity.this, "Network error!", Toast.LENGTH_SHORT).show();
  326.                                 }
  327.                                 else if (error instanceof ServerError)
  328.                                 {
  329.                                     Toast.makeText(SearchActivity.this, "Server error!", Toast.LENGTH_SHORT).show();
  330.                                 }
  331.                                 else if (error instanceof ParseError)
  332.                                 {
  333.                                     Toast.makeText(SearchActivity.this, "JSON parse error!", Toast.LENGTH_SHORT).show();
  334.                                 }
  335.                             }
  336.                         })
  337.                 {
  338.                     @Override
  339.                     protected Map<String, String> getParams()
  340.                     {
  341.                         Map<String, String> params = new HashMap<String, String>();
  342.                         params.put("name", name);
  343.                         params.put("phone", phone);
  344.                         params.put("postingArea", postingArea);
  345.                         params.put("district", district);
  346.                         params.put("division", division);
  347.                         return params;
  348.                     }
  349.  
  350.                     @Override
  351.                     public Map<String, String> getHeaders() throws AuthFailureError
  352.                     {
  353.                         Map<String, String> headers = new HashMap<String, String>();
  354.                         headers.put("User-Agent", "VetNetwork");  ////security purpose
  355.                         return headers;
  356.                     }
  357.                 };
  358.  
  359.                 MySingleton.getInstance(SearchActivity.this).addToRequestQueue(stringRequest1);
  360.  
  361.             }
  362.         });
  363.     }
  364. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement