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

Парсинг Википедии - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Свайп по linearlayout http://www.cyberforum.ru/android-dev/thread1131633.html
есть linearlayout в котором находиться еще 2 linearlayout каждый из них заполняет основной на 50% при том что внутри них есть текст и картинка. По сути мне нужно сделать перелистывания информации. на кнопках это все прекрассно реализовано. но хотелось чтоб можно было двигать жестом. как это засвайпить??? (на главном экране несколько linearlayout использовать свайп нужно конкретно на...
Android Отправка данных с планшета на удаленный компьютер. оптимизация производительности планшета Всем здравствуйте. В общем, задача такая. Имеется приложение для планшета, собирающее данные с некоего прибора по блютусу, а конкретно, оно считывает температуру. Далее приложение должно делать спектральный анализ полученных данных. В общем, я задачу решил, однако меня не устраивает производительность планшета. Данные обрабатываются около пяти-десяти минут... Само собой - это никуда не годится.... http://www.cyberforum.ru/android-dev/thread1131420.html
Android Выделение текста цветом
У меня есть текст с ссылкой (сообщение из твитера. Что-то наподобие "Тут новость бла бла бла http:\\t.co\dsds"). У меня есть индекс начала и конца ссылки. Каким образом мне поменять цвет ссылки на синий например? Либо же, как сделать из нее URL, по которому можно будет перейти?
OnTextWatcher Android
есть такой код: public void onTextWatcher(final CustomAdapter customAdapter){ this.customAdapter = customAdapter; textWatcher = new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) { } @Override
Android Сохранение позиции spinner http://www.cyberforum.ru/android-dev/thread1131022.html
На фрагменте есть несколько спиннеров. При переходе на другой фрагмент, а потом вернутся на фрагмент со спиннерами все сбрасывается на дефолтное значение (показывается первый в списке). Как сохранить выбранную позицию спиннера? Пробовал использовать метод onSaveInstanceState, но приложение его просто не вызывает.
Android Cocos2d-x сборка проекта Подскажите пожалуйста, как проект з игрой, написаной на Cocos2d-x, собрать в приложение на андроид, в .apk формате в Visual Studio? подробнее

Показать сообщение отдельно
Maksim2309
45 / 45 / 2
Регистрация: 17.01.2013
Сообщений: 328

Парсинг Википедии - Android

27.03.2014, 21:13. Просмотров 1257. Ответов 13
Метки (Все метки)

Здравствуйте. Выручайте! нужно сделать парсинг, т.е. я ввожу слово и его значение мне выдается в листвиев (Википедия).
Вот мои наработки:
MainActivity:
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
package com.example.avto_golos;
 
import java.net.URL;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
 
import org.htmlcleaner.TagNode;
 
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.app.ProgressDialog;
import android.text.Editable;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.view.View;
 
public class MainActivity extends Activity {
    
    EditText ed1;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         //Находим кнопку
        Button button = (Button)findViewById(R.id.parse);
        EditText ed1 = (EditText) findViewById(R.id.editText1);
      }
    
      //Диалог ожидания
      private ProgressDialog pd;
      //Слушатель OnClickListener для нашей кнопки
        public void onClick(View v) 
        {
          //Показываем диалог ожидания
          pd = ProgressDialog.show(MainActivity.this, "Working...", "request to server", true, false);
          //Запускаем парсинг
          new ParseSite().execute("http://ru.wikipedia.org/wiki/%D0%90");       
        }
      
      private class ParseSite extends AsyncTask<String, Void, List<String>> {
            //Фоновая операция
            protected List<String> doInBackground(String... arg) {
              List<String> output = new ArrayList<String>();
              try
              {
                HtmlHelper hh = new HtmlHelper(new URL(arg[0]));
                List<TagNode> links = hh.getLinksByClass("");
 
                for (Iterator<TagNode> iterator = links.iterator(); iterator.hasNext();)
                {
                  TagNode divElement = (TagNode) iterator.next();
                  output.add(divElement.getText().toString());
                }
              }
              catch(Exception e)
              {
                e.printStackTrace();
              }
              return output;
            }
 
            //Событие по окончанию парсинга
            protected void onPostExecute(List<String> output) {
              //Убираем диалог загрузки
              pd.dismiss();
              //Находим ListView
              ListView listview = (ListView) findViewById(R.id.listViewData);
              //Загружаем в него результат работы doInBackground
              listview.setAdapter(new ArrayAdapter<String>(MainActivity.this,
                  android.R.layout.simple_list_item_1 , output));
            }
          }
      
    @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;
    }
 
}
HtmlHelper
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
package com.example.avto_golos;
 
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
 
import org.htmlcleaner.HtmlCleaner;
import org.htmlcleaner.TagNode;
 
public class HtmlHelper {
          TagNode rootNode;
 
          //Конструктор
          public HtmlHelper(URL htmlPage) throws IOException
          {
            //Создаём объект HtmlCleaner
            HtmlCleaner cleaner = new HtmlCleaner();
            //Загружаем html код сайта
            rootNode = cleaner.clean(htmlPage);
          }
 
          List<TagNode> getLinksByClass(String CSSClassname)
          {
            List<TagNode> linkList = new ArrayList<TagNode>();
 
            //Выбираем все ссылки
            TagNode linkElements[] = rootNode.getElementsByName("p", true);
            //for (int i = 0; linkElements != null && i < linkElements.length; i++)
            //{
                linkList.add(linkElements[0]);
            //}
 
            return linkList;
          }
}
Получается если ссылку так указываю new ParseSite().execute("http://ru.wikipedia.org/wiki/%D0%90"); все норма, но мне нужно любое слово. В адресной строке ссылка на запрос выглядит так: http://ru.wikipedia.org/wiki/А
но если я так пишу приложение остановлено. Выручайте Уважаемые программисты. Буду благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru