Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.73 KB | None | 0 0
  1. /**
  2. * Asynctask для получения json по HTTP-запросу (список сайтов)
  3. */
  4. private class getSites extends AsyncTask<Void, Void, Void> {
  5.  
  6. @Override
  7. protected void onPreExecute() {
  8. super.onPreExecute();
  9. }
  10.  
  11. @Override
  12. protected Void doInBackground(Void... arg0) {
  13. HttpHandler sh = new HttpHandler();
  14.  
  15. // запрос по url и получение ответа
  16. String jsonStr = sh.makeServiceCall(urlSites);
  17.  
  18. Log.e(TAG, "Response from url: " + jsonStr);
  19.  
  20. if (jsonStr != null) {
  21. try {
  22. JSONArray sites = new JSONArray(jsonStr);
  23.  
  24.  
  25. // проходимся по всем пунктам
  26. for (int i = 0; i < sites.length(); i++) {
  27. JSONObject c = sites.getJSONObject(i);
  28.  
  29. String id = String.valueOf(c.getInt("id"));
  30. String name = c.getString("name");
  31.  
  32. // hash map для каждого пункта спиннера
  33. HashMap<String, String> siteItem = new HashMap<>();
  34.  
  35. // добавление каждого элемента в HashMap key => value
  36. siteItem.put("id", id);
  37. siteItem.put("name", name);
  38. sitesForSpinner.add(name);
  39. Log.e(TAG, sitesForSpinner.toString());
  40. // добавление в лист
  41. siteList.add(siteItem);
  42. }
  43. } catch (final JSONException e) {
  44. Log.e(TAG, "Json parsing error (spinner): " + e.getMessage());
  45. getActivity().runOnUiThread(new Runnable() {
  46. @Override
  47. public void run() {
  48. Toast.makeText(getActivity(),
  49. "Json parsing error (spinner): " + e.getMessage(),
  50. Toast.LENGTH_LONG)
  51. .show();
  52. }
  53. });
  54. }
  55. } else {
  56. Log.e(TAG, "Couldn't get json from server.");
  57. getActivity().runOnUiThread(new Runnable() {
  58. @Override
  59. public void run() {
  60. Toast.makeText(getActivity(),
  61. "Couldn't get json from server. Check LogCat for possible errors!",
  62. Toast.LENGTH_LONG)
  63. .show();
  64. }
  65. });
  66.  
  67. }
  68. return null;
  69. }
  70.  
  71. @Override
  72. protected void onPostExecute(Void result) {
  73. super.onPostExecute(result);
  74.  
  75. //обновляем данные в спиннере
  76. spinner.setItems(sitesForSpinner);
  77. }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement