Android установить TextView в HTML-файл

0

Мне нужно получить информацию с этого веб-сайта: http://rowans.diekantankys.nl/bonnen/index.php?id=4 (Это на голландском языке) С строки 36 и дальше находится таблица, в которой вы можете видеть людей с задолженностью на этом веб-сайте:

<td>Marc</td>
<td>16.75</td>
</tr> <tr>
<td>Marlieke</td>
<td>7.27</td>
</tr> <tr>
<td>Anne Ruth</td>
<td>4.70</td>

но все функции и методы, которые я нашел, чтобы загрузить файл HTML с веб-сайта или веб-сервера в строку/массив, как-то не удается, может ли кто-нибудь дать мне метод, на котором я могу дать свой полный отчет об ошибке?

Мои извинения, если это будет рассмотрено: "Не настоящий вопрос", я не знаю, как сформулировать это

заранее спасибо

Теги:
string
arrays
http

2 ответа

0
Лучший ответ

Я бы рекомендовал использовать (http://jsoup.org "JSoup"), чтобы загрузить синтаксический анализ HTML из URL

Вы можете получить HTML как document и прочитать текст по elements

 Document doc = Jsoup.connect("http://rowans.diekantankys.nl/bonnen/index.php?id=4").get();

В этом случае на этом сайте вам нужно получить text в теле таблицы, т. tbody

String table = doc.body().getElementsByTag("tbody").text()

Итак, вам нужно сначала загрузить контент в background thread а затем обновить TextView на UIThread.

new AsyncTask<Void, Integer, Long>(){
        @Override
        protected Long doInBackground(Void... params) {
            try {
                final Document doc = Jsoup.connect("http://rowans.diekantankys.nl/bonnen/index.php?id=4").get();
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        String tableContent = doc.body().getElementsByTag("tbody").text();
                        // you can split the text and read it, as required.
                        textView.setText(tableContent);
                    }
                });

            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
    }.execute();

Надеюсь, это поможет вам. Дайте мне знать, если проблема.

  • 0
    Это должно работать, но где в моем классе я должен поместить это? Я хочу получить HTML-файл одним нажатием кнопки с именем getSchuld (); ( pastebin.com/uBL4K2GN )
  • 0
    Добавьте это внутри getSchuld (), надеюсь, что этот метод вызывается, когда кнопка нажата. Также добавьте прослушиватель по нажатию кнопки и вызовите метод.
Показать ещё 2 комментария
0

Вам нужно загрузить весь контент HTML, поместить его в строку и вручную проанализировать код. Если вас интересуют значения в этой таблице, я предлагаю вам выполнить поиск в строке, содержащей загруженный HTML, для строки uniqui, которая идентифицирует начало таблицы (например, поиск тега '', и вы помещаете HTML-код таблицы в другую переменную. Затем вы переходите к ручному поиску строки, которая ищет и извлекает значения с помощью цикла. Другой способ - использовать регулярные выражения, но это становится более сложным, если вы не знаете Это не соответствующий ресурс, но в этом приложении для Android я сделал именно то, что только что объяснил https://github.com/rexromae/mytotem_android/blob/master/com.torvergata.mytotem/src/com/torvergata/mytotem/student/StudentLogin.java

Ещё вопросы

Сообщество Overcoder
Наверх
Меню