Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Asynctask для получения json по HTTP-запросу (список сайтов)
- */
- private class getSites extends AsyncTask<Void, Void, Void> {
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- }
- @Override
- protected Void doInBackground(Void... arg0) {
- HttpHandler sh = new HttpHandler();
- // запрос по url и получение ответа
- String jsonStr = sh.makeServiceCall(urlSites);
- Log.e(TAG, "Response from url: " + jsonStr);
- if (jsonStr != null) {
- try {
- JSONArray sites = new JSONArray(jsonStr);
- // проходимся по всем пунктам
- for (int i = 0; i < sites.length(); i++) {
- JSONObject c = sites.getJSONObject(i);
- String id = String.valueOf(c.getInt("id"));
- String name = c.getString("name");
- // hash map для каждого пункта спиннера
- HashMap<String, String> siteItem = new HashMap<>();
- // добавление каждого элемента в HashMap key => value
- siteItem.put("id", id);
- siteItem.put("name", name);
- sitesForSpinner.add(name);
- Log.e(TAG, sitesForSpinner.toString());
- // добавление в лист
- siteList.add(siteItem);
- }
- } catch (final JSONException e) {
- Log.e(TAG, "Json parsing error (spinner): " + e.getMessage());
- getActivity().runOnUiThread(new Runnable() {
- @Override
- public void run() {
- Toast.makeText(getActivity(),
- "Json parsing error (spinner): " + e.getMessage(),
- Toast.LENGTH_LONG)
- .show();
- }
- });
- }
- } else {
- Log.e(TAG, "Couldn't get json from server.");
- getActivity().runOnUiThread(new Runnable() {
- @Override
- public void run() {
- Toast.makeText(getActivity(),
- "Couldn't get json from server. Check LogCat for possible errors!",
- Toast.LENGTH_LONG)
- .show();
- }
- });
- }
- return null;
- }
- @Override
- protected void onPostExecute(Void result) {
- super.onPostExecute(result);
- //обновляем данные в спиннере
- spinner.setItems(sitesForSpinner);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement