Advertisement
Guest User

Untitled

a guest
Feb 14th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.44 KB | None | 0 0
  1. public class finder extends AppCompatActivity{
  2.  
  3. public static final String JSON_URL = "insert url here";
  4. public static final String KEY_SEARCH = "search";
  5.  
  6. private SearchView searchView;
  7. private ListView listView;
  8. private String search;
  9.  
  10. @Override
  11. protected void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.activity_finder);
  14.  
  15. searchView = (SearchView) findViewById(R.id.sv);
  16. listView = (ListView) findViewById(R.id.lv);
  17.  
  18.  
  19. searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
  20. @Override
  21. public boolean onQueryTextSubmit(String query) {
  22. sendRequest();
  23. return true;
  24. }
  25.  
  26. @Override
  27. public boolean onQueryTextChange(String newText) {
  28. return false;
  29. }
  30. });
  31. }
  32. private void sendRequest(){
  33.  
  34. StringRequest stringRequest = new StringRequest(Request.Method.POST, JSON_URL,
  35. new Response.Listener<String>() {
  36. @Override
  37. public void onResponse(String response) {
  38. showJSON(response);
  39. }
  40. },
  41. new Response.ErrorListener() {
  42. @Override
  43. public void onErrorResponse(VolleyError error) {
  44. Toast.makeText(finder.this,error.toString(),Toast.LENGTH_LONG).show();
  45. }
  46. }){
  47. @Override
  48. protected Map<String,String> getParams(){
  49. Map<String,String> params = new HashMap<>();
  50. params.put(KEY_SEARCH,search);
  51. return params;
  52. }
  53. };
  54.  
  55. RequestQueue requestQueue = Volley.newRequestQueue(this);
  56. requestQueue.add(stringRequest);
  57. }
  58.  
  59. private void showJSON(String json){
  60. ParseJSON pj = new ParseJSON(json);
  61. pj.parseJSON();
  62. CustomList cl = new CustomList(this, ParseJSON.course,ParseJSON.school,ParseJSON.address);
  63. listView.setAdapter(cl);
  64. }
  65.  
  66. }
  67.  
  68. public class ParseJSON {
  69. public static String[] course;
  70. public static String[] school;
  71. public static String[] address;
  72.  
  73. public static final String JSON_ARRAY = "Result";
  74. public static final String KEY_COURSE = "Course";
  75. public static final String KEY_SCHOOL = "School";
  76. public static final String KEY_ADDRESS = "Address";
  77.  
  78. private String json;
  79.  
  80. public ParseJSON(String json){
  81. this.json = json;
  82. }
  83.  
  84. protected void parseJSON(){
  85. JSONObject jsonObject=null;
  86. try {
  87. jsonObject = new JSONObject(json);
  88. JSONArray users = jsonObject.getJSONArray(JSON_ARRAY);
  89.  
  90. course = new String[users.length()];
  91. school = new String[users.length()];
  92. address = new String[users.length()];
  93.  
  94. for(int i=0;i< users.length();i++){
  95. JSONObject jo = users.getJSONObject(i);
  96. course[i] = jo.getString(KEY_COURSE);
  97. school[i] = jo.getString(KEY_SCHOOL);
  98. address[i] = jo.getString(KEY_ADDRESS);
  99. }
  100. } catch (JSONException e) {
  101. e.printStackTrace();
  102. }
  103. }
  104. }
  105.  
  106. public class CustomList extends ArrayAdapter<String> {
  107. private String[] course;
  108. private String[] school;
  109. private String[] address;
  110. private Activity context;
  111.  
  112. public CustomList(Activity context, String[] course, String[] school, String[] address) {
  113. super(context, R.layout.list_view_layout, course);
  114. this.context = context;
  115. this.course = course;
  116. this.school = school;
  117. this.address = address;
  118. }
  119.  
  120. @Override
  121. public View getView(int position, View convertView, ViewGroup parent) {
  122. LayoutInflater inflater = context.getLayoutInflater();
  123. View listViewItem = inflater.inflate(R.layout.list_view_layout, null, true);
  124. TextView ViewCourse = (TextView) listViewItem.findViewById(R.id.textViewCourse);
  125. TextView ViewSchool = (TextView) listViewItem.findViewById(R.id.textViewSchool);
  126. TextView ViewAddress = (TextView) listViewItem.findViewById(R.id.textViewAddress);
  127.  
  128. ViewCourse.setText(course[position]);
  129. ViewSchool.setText(school[position]);
  130. ViewAddress.setText(address[position]);
  131.  
  132. return listViewItem;
  133. }
  134. }
  135.  
  136. <?php
  137.  
  138. $DBserver = 'localhost';
  139. $DBuser = 'root';
  140. $DBpassword = '';
  141. $DBname = 'finder';
  142.  
  143. $conn=@mysqli_connect($DBserver, $DBuser, $DBpassword, $DBname);
  144.  
  145. if ($conn->connect_error)
  146. {
  147. trigger_error('Database connection failed: ' . $conn->connect_error, E_USER_ERROR);
  148. }
  149.  
  150. $output= array();
  151.  
  152. if(isset($_POST['search']))
  153. {
  154. $searchq = $_POST['search'];
  155.  
  156. //$searchq = preg_replace("#[^0-9a-z]#i","",$searchq);
  157.  
  158. $sql = "SELECT * FROM search WHERE search_course LIKE '%$searchq%'";
  159.  
  160. $query = mysqli_query($conn, $sql);
  161.  
  162. $count = mysqli_num_rows($query);
  163.  
  164. if ($count == 0)
  165. {
  166. $output = 'There was no search result';
  167. }
  168. else
  169. {
  170. while ($row = mysqli_fetch_array($query))
  171. {
  172. array_push ($output, array("Course"=>$row['search_course'],
  173. "School"=>$row['search_school'], "Address"=>$row['search_location']
  174. ));
  175.  
  176. echo json_encode(array("Result"=>$output));
  177. }
  178.  
  179. }
  180. }
  181. mysqli_close($conn)
  182. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement