Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
agarasul1
0 / 0 / 0
Регистрация: 07.07.2016
Сообщений: 3
#1

Must supply a valid URL Jsoup

08.07.2016, 10:03. Просмотров 610. Ответов 0

Вот мой код:
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_import, container, false);
    //Button fragbut = (Button) rootView.findViewById(R.id.fragbut);
    listView4 = (ListView) rootView.findViewById(R.id.listView999);
    textView4 = (TextView) rootView.findViewById(R.id.textView4);
    textView5 = (TextView) rootView.findViewById(R.id.textView5);
    adapter = new ArrayAdapter<String>(getActivity(), R.layout.fragment_import, R.id.textView3, titleList);
    newThread newThread1 = new newThread();
    newThread1.execute();
 
    try {
        final HashMap<String,String> hashMap = newThread1.get();
        for (Map.Entry entry : hashMap.entrySet())
        {
            titleList.add(entry.getKey().toString());
        }
 
        listView4.setAdapter(adapter);
        listView4.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
 
                Parsetext parsetext = new Parsetext();
                parsetext.execute(hashMap.get(titleList.get(position)));
                try {
                    textView4.setText(parsetext.get());
                   // Intent intent = new Intent(getActivity(), MainActivity.class);
                   // startActivity(intent);
                    listView4.setVisibility(View.GONE);
 
                } catch (InterruptedException e) {
                    e.printStackTrace();
                } catch (ExecutionException e) {
                    e.printStackTrace();
                }
            }
        });
    } catch (InterruptedException e) {
        e.printStackTrace();
    } catch (ExecutionException e) {
        e.printStackTrace();
    }
 
 
 
 
    return rootView;
 
}
    // fragbut.setOnClickListener(this);
 
    // ParseTitle parseTitle = new ParseTitle();
    //  parseTitle.execute();
 
 
    // TODO: Rename method, update argument and hook method into UI event
 
public void onButtonPressed(Uri uri) {
    if (mListener != null) {
 
        mListener.onFragmentInteraction(uri);
    }
}
 
 
@Override
public void onDetach() {
    super.onDetach();
    mListener = null;
}
 
int translateIdToIndex(int id) {
    int index = -1;
 
    return index;
}
 
@Override
public void onClick(View v) {
 
 
    int buttonIndex = translateIdToIndex(v.getId());
 
    Toast.makeText(getActivity(), String.valueOf(buttonIndex),
            Toast.LENGTH_SHORT).show();
}
 
public interface OnSelectedButtonListener {
    void onButtonSelected(int buttonIndex);
}
 
class Parsetext extends AsyncTask<String,Void,String>{
    @Override
    protected String doInBackground(String... params) {
        String str = " ";
        try {
            Document doc = Jsoup.connect(params[0]).get();
            Elements element = doc.select(".news_content");
            str = element.text();
        } catch (IOException e) {
            e.printStackTrace();
        }
 
        return str;
    }
}
 
class newThread extends AsyncTask<Void, Void, HashMap<String,String>> {
 
    @Override
    protected HashMap<String,String> doInBackground(Void... params) {
 
 
        HashMap<String,String> hashMap = new HashMap<>();
        try {
            Document doc = Jsoup.connect("http://gapp.az/").get();
            content = doc.select(".feed_desc");
            titleList.clear();
            for (Element contents : content) {
                Elements contents1 = contents.select("a[href]");
                hashMap.put(contents.text(),contents1.attr("abs:href"));
                titleList.add(contents.text());
            }
 
        } catch (IOException e) {
            e.printStackTrace();
        }
        return hashMap;
    }
}
Вот лог:
Caused by: java.lang.IllegalArgumentException: Must supply a valid URL at org.jsoup.helper.Validate.notEmpty(Validate.java:102) at org.jsoup.helper.HttpConnection.url(HttpConnection.java:72) at org.jsoup.helper.HttpConnection.connect(HttpConnection.java:36) at org.jsoup.Jsoup.connect(Jsoup.java:73) at com.example.adm.lifehacker.fragment.FragmentImport$Parsetext.doInBackground(FragmentImport.java:195) at com.example.adm.lifehacker.fragment.FragmentImport$Parsetext.doInBackground(FragmentImport.java:190)
Заголовки статей нормально загружаются. Проблема в том что не могу определить ссылку нажатой статьи

И еще в
Document doc = Jsoup.connect(params[0]).get();
params[0]
пустой

Добавлено через 39 секунд
Здесь на форуме пролистал пару страниц, но не нашел то что мне надо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2016, 10:03
Ответы с готовыми решениями:

Как в jsoup получить абсолютный URL?
Приветствую всех! прошу помощи в получении ссылки, на некоторой странице...

jsoup
Здрасьте. Вопрос по поводу этой замечательной библиотеке:) Есть html...

Jsoup
Помогите пожалуйста. При нажатии на строку с заголовком приложение вылетает....

WebView + JSOUP
Добрый день. Приложение падает с ошибкой. Подскажи, пожалуйста, в чем...

AsyncTask и Jsoup
Не работает вот такой код: package com.example.projecta; import...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2016, 10:03

Parsing with Jsoup
Итак, пробую написать очень простое тестовое приложение, для чтения...

JSOUP парсинг
Код парсит в textView1 с сайта class=&quot;30&quot; Как переписать/дописать код, чтоб он...

Парсинг Jsoup
Парсю сайт с помощью Jsoup Есть страница с новостями с URL в виде: Новости за...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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