Я пытаюсь разобрать некоторые данные с помощью JSoup, все это происходит в части asynctask (doInBackground) моей MainActivity. К сожалению, все элементы (9) пусты при выполнении приложения.JSoup разобранные элементы
Когда я отлаживаю ниже кодировку, я на самом деле получаю полный сайт, это все. Метод readMultipleLinesRespone() находится в другом классе HttpUtility, где я также называю мои сообщения и запросы на получение.
Я протестировал это заранее, сохранив сайт как файл и используя JSoups активы умение, оно отлично работало тогда.
setupAdapter() метод onPostExecute заполняет ExpandableListview с данными, должны быть эта информация nessecary. Если вам нужно больше информации, спрашивайте.
Может ли кто-нибудь помочь и рассказать мне, что я делаю неправильно?
response1 = util.readMultipleLinesRespone(); < --- отлаживается и все данные (кажется), но есть isn`t.
Edit: Если я печатаю response1, там действительно нет данных для синтаксического анализа. Выход Logcat:
Е/Resonse :: [Ljava.lang.String; @ 3d3410a
Ниже приведен способ readMultipleLinesRespone из класса HttpUtility:
public String[] readMultipleLinesRespone() throws IOException { InputStream inputStream = null; if (httpConn != null) { inputStream = httpConn.getInputStream(); } else { throw new IOException("Connection is not established."); } BufferedReader reader = new BufferedReader(new InputStreamReader( inputStream)); List<String> response = new ArrayList<String>(); String line = ""; while ((line = reader.readLine()) != null) { response.add(line); } reader.close(); return (String[]) response.toArray(new String[0]); }
Асинхронная система, где все это происходит:
private class FetchWebsiteData extends AsyncTask<Void, Void, Void> { ProgressDialog mProgressDialog; @Override protected void onPreExecute() { this.mProgressDialog = new ProgressDialog(getActivity()); mProgressDialog.setMessage("Laden..."); mProgressDialog.setIndeterminate(false); mProgressDialog.show(); } @Override protected Void doInBackground(Void... result) { try { util.sendGetRequest("https://mobile.somesite.nl/Data", null); response1 = util.readMultipleLinesRespone(); } catch (IOException e) { e.printStackTrace(); } if (response1.length > 0) { Document doc = Jsoup.parse(response1.toString()); // Get the html document title Elements els = doc.select("span[class=item-value pull-right]"); if (els.size() > 0) { fac_naam = els.get(0).text(); fac_straat = els.get(1).text(); fac_post = els.get(2).text(); con_tel = els.get(3).text(); con_email = els.get(4).text(); betaal_reknr = els.get(5).text(); betaal_houd = els.get(6).text(); zig_gebruiker = els.get(7).text(); zig_wacht = els.get(8).text(); } } return null; } @Override protected void onPostExecute(Void result) { super.onPreExecute(); setupAdapter(); mProgressDialog.dismiss(); } }