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

Вывод Elements в списке. Jsoup - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android как правильно раставить кнопки в Table Row? http://www.cyberforum.ru/android-dev/thread895806.html
привет всем. Вот решил написать первую игру на андроид и столкнулся с проблемой. Вообще есть 4 кнопки, на них меняется текст, и когда текст меняется, размеры батонов меняются и получается некрасиво....
Программирование Android Android studio настройка Поставил себе android studio Мне кажется студия неправильно проект генерит, ну или я что то не так делаю Последовательность действий 1) создать проект галочка создать activity ... http://www.cyberforum.ru/android-dev/thread895093.html
Разметка TextView Java Android Программирование Android
приветы. ситуация такая: имеется листвью, в нем нное количество итемов. в этих итемах один TextView. так вот, мне нужно маленькую картинку размером 20 на 20 dp вставить поверх последнего...
EditText в одном из Item ListView Программирование Android
Помогите решить довольно нестандартную задачу. У меня есть ListView, есть Adapter который делает кастомный вид разметки. В ListView выводится список слов и один из элементов ListView содержит надпись...
Программирование Android Как убрать анимацию? http://www.cyberforum.ru/android-dev/thread894524.html
Можно ли в полностью убрать анимацию при открытии форм? Слишком медленно, если процессор занят, то несколько секунд. Диалоги гаснут и проявляются с убывающей прозрачностью вместо мгновенного. Немного...
Программирование Android Сериализация объекта в файл Как сделать сериализацию объекта в файл. Можно пример пожалуйста. Спасибо подробнее

Показать сообщение отдельно
fruitcake
Сообщений: n/a

Вывод Elements в списке. Jsoup - Программирование Android

09.06.2013, 06:28. Просмотров 892. Ответов 2
Метки (Все метки)

Здравствуйте!
Я только начал изучать программирование под Android. Пробовал выводить список, по одному из уроков, и тем на этом сайте. Приложение выдает ошибку.

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
package com.example.projecta;
 
import java.io.IOException;
 
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
 
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
 
public class MainActivity extends Activity {
    MyTask mt;
    TextView tvInfo;
    ListView lv;
    private static final String TAG = "myLogs";
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tvInfo = (TextView) findViewById(R.id.tvInfo);
        lv = (ListView) findViewById(R.id.ListView1);
    }
 
    public void onclick(View v) {
        mt = new MyTask();
        mt.execute();
        Log.d(TAG, "0");
    }
 
    class MyTask extends AsyncTask<String, Void, Elements> {
 
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            tvInfo.setText("Begin");
        }
 
        protected Elements doInBackground(String... links) {
            Document doc = null;
            try {
                doc = Jsoup.connect("http://www.oilcapital.ru/data/rss_common.php").get();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            Elements els = doc.select("item");
            
            return els;
        }
 
        protected void onPostExecute(Elements result) {
            super.onPostExecute(result);
            String[] arrayStr = new String[result.size()];
            for (int i = 0; i < arrayStr.length; i++) {
                arrayStr[i] = (result).get(i).toString();
            }
            ArrayAdapter<String> aa = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1, arrayStr);
            lv.setAdapter(aa);
            Toast toast = Toast.makeText(getApplicationContext(), "Завершено",
            Toast.LENGTH_LONG);
            toast.show();
        }
 
    }
}
ошибка (не подключает даже если поменять адрес сайта):

Кликните здесь для просмотра всего текста
06-09 03:17:52.328: D/dalvikvm(1373): GC_FOR_ALLOC freed 44K, 2% free 8791K/8963K, paused 62ms
06-09 03:17:52.537: D/dalvikvm(1373): GC_CONCURRENT freed 1K, 2% free 9291K/9479K, paused 5ms+3ms
06-09 03:17:58.259: D/myLogs(1373): 0
06-09 03:17:58.307: W/System.err(1373): java.net.UnknownHostException: Unable to resolve host "www.oilcapital.ru": No address associated with hostname
06-09 03:17:58.317: W/System.err(1373): at java.net.InetAddress.lookupHostByName(InetAddress.java:496)
06-09 03:17:58.317: W/System.err(1373): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:277)
06-09 03:17:58.317: W/System.err(1373): at java.net.InetAddress.getAllByName(InetAddress.java:249)
06-09 03:17:58.317: W/System.err(1373): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:69)
06-09 03:17:58.317: W/System.err(1373): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48)
06-09 03:17:58.317: W/System.err(1373): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:304)
06-09 03:17:58.327: W/System.err(1373): at org.apache.harmony.luni.internal.net.http://www.protocol.http.HttpConnect...onPool.java:89)
06-09 03:17:58.327: W/System.err(1373): at org.apache.harmony.luni.internal.net.http://www.protocol.http.HttpURLConn...nImpl.java:292)
06-09 03:17:58.327: W/System.err(1373): at org.apache.harmony.luni.internal.net.http://www.protocol.http.HttpURLConn...nImpl.java:274)
06-09 03:17:58.327: W/System.err(1373): at org.apache.harmony.luni.internal.net.http://www.protocol.http.HttpURLConn...nImpl.java:217)
06-09 03:17:58.327: W/System.err(1373): at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:425)
06-09 03:17:58.337: W/System.err(1373): at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:410)
06-09 03:17:58.337: W/System.err(1373): at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:164)
06-09 03:17:58.337: W/System.err(1373): at org.jsoup.helper.HttpConnection.get(HttpConnection.java:153)
06-09 03:17:58.337: W/System.err(1373): at com.example.projecta.MainActivity$MyTask.doInBackground(MainActivity.java:50)
06-09 03:17:58.337: W/System.err(1373): at com.example.projecta.MainActivity$MyTask.doInBackground(MainActivity.java:1)
06-09 03:17:58.337: W/System.err(1373): at android.os.AsyncTask$2.call(AsyncTask.java:252)
06-09 03:17:58.337: W/System.err(1373): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
06-09 03:17:58.347: W/System.err(1373): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
06-09 03:17:58.347: W/System.err(1373): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1081)
06-09 03:17:58.347: W/System.err(1373): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:574)
06-09 03:17:58.347: W/System.err(1373): at java.lang.Thread.run(Thread.java:1020)
06-09 03:17:58.371: W/dalvikvm(1373): threadid=9: thread exiting with uncaught exception (group=0x40014760)
06-09 03:17:58.389: E/AndroidRuntime(1373): FATAL EXCEPTION: AsyncTask #1
06-09 03:17:58.389: E/AndroidRuntime(1373): java.lang.RuntimeException: An error occured while executing doInBackground()
06-09 03:17:58.389: E/AndroidRuntime(1373): at android.os.AsyncTask$3.done(AsyncTask.java:266)
06-09 03:17:58.389: E/AndroidRuntime(1373): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
06-09 03:17:58.389: E/AndroidRuntime(1373): at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
06-09 03:17:58.389: E/AndroidRuntime(1373): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
06-09 03:17:58.389: E/AndroidRuntime(1373): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
06-09 03:17:58.389: E/AndroidRuntime(1373): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1081)
06-09 03:17:58.389: E/AndroidRuntime(1373): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:574)
06-09 03:17:58.389: E/AndroidRuntime(1373): at java.lang.Thread.run(Thread.java:1020)
06-09 03:17:58.389: E/AndroidRuntime(1373): Caused by: java.lang.NullPointerException
06-09 03:17:58.389: E/AndroidRuntime(1373): at com.example.projecta.MainActivity$MyTask.doInBackground(MainActivity.java:55)
06-09 03:17:58.389: E/AndroidRuntime(1373): at com.example.projecta.MainActivity$MyTask.doInBackground(MainActivity.java:1)
06-09 03:17:58.389: E/AndroidRuntime(1373): at android.os.AsyncTask$2.call(AsyncTask.java:252)
06-09 03:17:58.389: E/AndroidRuntime(1373): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
06-09 03:17:58.389: E/AndroidRuntime(1373): ... 4 more
06-09 03:18:00.677: I/Process(1373): Sending signal. PID: 1373 SIG: 9


Добавлено через 17 минут
Попробовал немного по другому написать, вроде бы все работает. Как это вывести списком?

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
132
133
134
135
136
137
package com.ulyanov.tryme;
 
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;
 
import android.content.Intent;
 
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
 
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.util.Log;
import android.view.Gravity;
import android.view.Menu;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.content.Intent;
 
public class MainActivity extends Activity {
 
    MyTask mt;
      TextView tvInfo;
      ListView lv;
      private static final String TAG = "myLogs";
     
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv = (ListView) findViewById(R.id.ListView1);
                
// ищем TextView
        tvInfo = (TextView) findViewById(R.id.newsTx);
        
        File input = new File(Environment.getExternalStorageDirectory(),
                "/Folder/file.xml");
        Document docnew=null;
        try {
             docnew = Jsoup.parse(input, "UTF-8");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        String fileOuter= docnew.html();
        tvInfo.setText(fileOuter);
    //Elements link = docnew.select("item");
      //  String linkOuterH = link.outerHtml();
        tvInfo.setText(fileOuter);
    }
    
    
    
     //КОНЕЦ ONCREATE
//********* Обработчик нажания кнопки********************************
    public void onclick(View v) {
        mt = new MyTask();
        mt.execute();
        Log.d(TAG, "0");
    }
//*******************************************************************       
    @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;
    }
    //Асинхронный поток ****************************************888 
    class MyTask extends AsyncTask<String,Void, Elements> {
         
        @Override
        protected void onPreExecute() {
          super.onPreExecute();
          tvInfo.setText("Begin");
        }
     
        protected Elements doInBackground(String... links) {
           //Получаем элементы типа item*************************************
            Document doc = null;
                        try {
                            doc = Jsoup.connect("http://www.oilcapital.ru/data/rss_common.php").get();
                    } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        Elements els = doc.select("item");
                        
                     return els;
                 }
             // String fileOuter= doc.html();
            //Elements link = doc.select("item");
            //String linkOuterH = link.outerHtml(); 
          
                
                
          // ************************************************************   
          //return linkOuterH  ;
          //    return fileOuter;
            
      protected void onPostExecute(Elements result) {
          super.onPostExecute(result);
          String[] arrayStr = new String[result.size()];
          for (int i = 0; i < arrayStr.length; i++) {
              arrayStr[i] = (result).get(i).toString();
          }
          ArrayAdapter<String> aa = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1, arrayStr);
          lv.setAdapter(aa);
          Toast toast = Toast.makeText(getApplicationContext(), "Завершено",
          Toast.LENGTH_LONG);
          toast.show();
      }
        
            "Текстовый файл записан", Toast.LENGTH_LONG).show();
        }             
    
    public void GoToNewsDetailed(View v)
    {
        switch (v.getId()) 
        {
            case R.id.newsDetailed:
                Intent intent = new Intent(MainActivity.this, NewsDetailed.class);
                startActivity(intent);
                break;
        }
    }
      }
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru