Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.91
OT_VINTA
114 / 91 / 2
Регистрация: 13.02.2013
Сообщений: 257
#1

Ошибка приложения (парсинг jsoup) - Программирование Android

20.03.2013, 20:52. Просмотров 2922. Ответов 8
Метки нет (Все метки)

Вот есть такой код (делал по этому примеру )

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package com.example.parse;
 
 
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
 
public class FullscreenActivity extends Activity {
    /** Called when the activity is first created. */
    
    
    
    @SuppressLint("SetJavaScriptEnabled")
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fullscreen);
                
        final TextView tvInfo = (TextView)findViewById(R.id.textView1);
        Document doc = null;
        try {
            doc = Jsoup.connect("http://otvinta-f1.narod.ru/").get();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        String title = doc.title();
        tvInfo.setText(title); 
            };
    }
В теории всё должно работать, но при запуске выдаёт ошибку.
Что я сделал не так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2013, 20:52     Ошибка приложения (парсинг jsoup)
Посмотрите здесь:

Непонятная ошибка в Android Studio, парсинг, jsoup - Программирование Android
Прошу помощи, ошибка, возможно будет банальной, т.к. это мое первое приложение в Android Studio. В общем у меня стоит задача реализовать...

Jsoup парсинг сайта - Программирование Android
Помогите пожалуйста. Пытаюсь получить названия книг с сайта livelib. Но он ничего не парсит. Все сайты парсит нормально а на этом не...

jsoup, парсинг html - Программирование Android
А почему не работает такой простой код? Парсинг из инета пока не трогаем... Код: package com.example.projecta; import...

Парсинг XML с помощью Jsoup - Программирование Android
Всем добрый день. Пишу андроид приложение. Использую библиотеку jsoup. Возникла проблема с парсингом xml. Есть такой кусок на...

Парсинг с Jsoup и заполнение в таблицу - Программирование Android
Доброго времени суток. Мозг выгорает, не могу разобраться как правильно парсить данный класс страницы и правильно загнать это всё в...

Jsoup парсинг адерса ссылки - Программирование Android
Как с помощью библиотеки jsoup парсить адрес ссылки <a class="news-one clearfix brdr-btm" href="/news/3719/"> <h2>Заголовок</h2> ...

Парсинг на JSOUP APACHE, не работает read и getInputStream - Программирование Android
Начинаю писать парс под андроид для динамического сайта. Использую JSOUP и APACHE, проблема состоит в том, что в Android Studio выделяются...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dr_yand
156 / 138 / 6
Регистрация: 13.03.2013
Сообщений: 321
Записей в блоге: 3
20.03.2013, 22:09     Ошибка приложения (парсинг jsoup) #2
А с какой ошибкой выпадает?
OT_VINTA
114 / 91 / 2
Регистрация: 13.02.2013
Сообщений: 257
20.03.2013, 22:22  [ТС]     Ошибка приложения (парсинг jsoup) #3
Цитата Сообщение от dr_yand Посмотреть сообщение
А с какой ошибкой выпадает?
http://s2.ipicture.ru/uploads/20130320/dHMcixzq.png
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
21.03.2013, 11:33     Ошибка приложения (парсинг jsoup) #4
Я оставлю старую версию статьи здесь. Если вы пишете программы под старые устройства, то всё остаётся без изменений. Примеры под новые устройства находятся в закрытой зоне 4 месяца.
Я надеюсь ты учел это? Под новые устройства соединения нужно делать в другом потоке используя например AsyncTask. И вообще рекомендация гугла сетевые операции НЕ делать в UI thread.

.NetworkOnMainThreadException как раз и намекает тебе об этом.
http://developer.android.com/referen...Exception.html
OT_VINTA
114 / 91 / 2
Регистрация: 13.02.2013
Сообщений: 257
21.03.2013, 15:18  [ТС]     Ошибка приложения (парсинг jsoup) #5
Цитата Сообщение от c4sp3r Посмотреть сообщение
Я надеюсь ты учел это? Под новые устройства соединения нужно делать в другом потоке используя например AsyncTask. И вообще рекомендация гугла сетевые операции НЕ делать в UI thread.

.NetworkOnMainThreadException как раз и намекает тебе об этом.
http://developer.android.com/referen...Exception.html

Можете показать мне готовый рабочий пример?
Я просто только начинаю изучать Android програмирование, и пока не могу понять как что сделать.

До этого я имел дело только с html css и немного с javascript и php.
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
21.03.2013, 16:41     Ошибка приложения (парсинг jsoup) #6
OT_VINTA, начни с этого урока
http://startandroid.ru/ru/uroki/vse-...yj-primer.html

Java
1
2
3
4
5
6
7
8
9
@Override
    protected Void doInBackground(Void... params) {
      try {
        TimeUnit.SECONDS.sleep(2); // В его уроках эмитирует например сетевые операции
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
      return null;
    }
Заместо этого вставляй свой код только не тупо копировать, вставить а прочитай уроки сначала по AsyncTask!

Добавлено через 26 минут
Вот тебе готовый пример:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package com.example.parserexample;
 
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
 
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;
 
public class MainActivity extends Activity {
 
    private TextView textView;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        textView = (TextView) findViewById(R.id.textView);
        
        new MyParser().execute("http://otvinta-f1.narod.ru/");
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
    private class MyParser extends AsyncTask<String, Void, String> {
 
        @Override
        protected String doInBackground(String... links) {  
            Document doc = null;
            try {
                doc = Jsoup.connect(links[0]).get();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return doc.title();
        }
 
        @Override
        protected void onPostExecute(String result) {
            textView.setText(result);
        }
        
    }
}
Только не забудь в манифест добавить:
XML
1
<uses-permission android:name="android.permission.INTERNET" />
OT_VINTA
114 / 91 / 2
Регистрация: 13.02.2013
Сообщений: 257
21.03.2013, 17:53  [ТС]     Ошибка приложения (парсинг jsoup) #7
Цитата Сообщение от c4sp3r Посмотреть сообщение
OT_VINTA, начни с этого урока
http://startandroid.ru/ru/uroki/vse-...yj-primer.html

Java
1
2
3
4
5
6
7
8
9
@Override
    protected Void doInBackground(Void... params) {
      try {
        TimeUnit.SECONDS.sleep(2); // В его уроках эмитирует например сетевые операции
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
      return null;
    }
Заместо этого вставляй свой код только не тупо копировать, вставить а прочитай уроки сначала по AsyncTask!

Добавлено через 26 минут
Вот тебе готовый пример:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package com.example.parserexample;
 
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
 
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;
 
public class MainActivity extends Activity {
 
    private TextView textView;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        textView = (TextView) findViewById(R.id.textView);
        
        new MyParser().execute("http://otvinta-f1.narod.ru/");
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
    private class MyParser extends AsyncTask<String, Void, String> {
 
        @Override
        protected String doInBackground(String... links) {  
            Document doc = null;
            try {
                doc = Jsoup.connect(links[0]).get();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return doc.title();
        }
 
        @Override
        protected void onPostExecute(String result) {
            textView.setText(result);
        }
        
    }
}
Только не забудь в манифест добавить:
XML
1
<uses-permission android:name="android.permission.INTERNET" />
Спасибо огромное!!!

Теперь буду мучиться как отдельные части по ид или классу вытащить :-)
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
21.03.2013, 18:19     Ошибка приложения (парсинг jsoup) #8
Если html что ты тут давал

это вытащит все новости
Java
1
2
final Elements news = doc.select("div.news");
String myNews = news.text();
будет
Код
содержание новости 0 содержание новости 1 содержание новости 2 содержание новости 3 ...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2016, 23:36     Ошибка приложения (парсинг jsoup)
Еще ссылки по теме:

Jsoup: парсинг странички и заполнение контентом Activity - Программирование Android
Здравствуйте. В общем столкнулся с такой проблемой. Нужно отпарсить страничку через JSOUP. на страничке может быть простой текст, картинки,...

Вылет приложения при работе с jsoup - Программирование Android
приложение вылетает на строках : String html = &quot;&lt;html&gt;Some html text&lt;/html&gt;&quot;; Document doc = Jsoup.parse(html);либу пробовал по разному...

JSOUP Где ошибка? AsynkTasks - Программирование Android
Вот куод java Парсил раньше заголовок на странице сайта и получал содержимое title import android.app.Activity; import...

jsoup - Программирование Android
Здрасьте. Вопрос по поводу этой замечательной библиотеке:) Есть html следующего содержания: &lt;span class=&quot;aaa&quot;&gt;Всем привет!&lt;br /&gt; ...

Jsoup и https - Программирование Android
Здравствуйте есть вопрос. Есть сайт на https на котором нужно залогиниться чтобы получить инфу. вопрос в том как с этим работать с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 94
16.04.2016, 23:36     Ошибка приложения (парсинг jsoup) #9
c4sp3r, спасибо!
Yandex
Объявления
16.04.2016, 23:36     Ошибка приложения (парсинг jsoup)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru