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

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

Войти
Регистрация
Восстановить пароль
 
agarasul1
0 / 0 / 0
Регистрация: 07.07.2016
Сообщений: 1
#1

Must supply a valid URL Jsoup - Android

08.07.2016, 10:03. Просмотров 193. Ответов 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 секунд
Здесь на форуме пролистал пару страниц, но не нашел то что мне надо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2016, 10:03     Must supply a valid URL Jsoup
Посмотрите здесь:

Android Parsing with Jsoup
jsoup Android
jsoup, парсинг html Android
Android AsyncTask и Jsoup
Jsoup парс Android
Jsoup и https Android
Jsoup получить элемент Android
Парсинг на jsoup Android
Android WebView + JSOUP
Не работает Jsoup.connect Android
Как в jsoup получить абсолютный URL? Android
Android Jsoup

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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