Skocz do zawartości
futrzi

Pobieranie tablicy z internetu

    Rekomendowane odpowiedzi

    futrzi
    Napisano (edytowane)

    Cześć wszystkim! Mam problem z moim kodem, a mianowicie staram się pobrać tabelę ze strony http://megalotto.pl/statystyki/lotto/czestotliwosc-okres-czasu/100-ostatnich-losowan , która zawiera statystyki wylosowanych liczb. Chciałem ją wstawić do aplikacji za pomocą JSoupa tak, żeby wyświetlała się w tekście na layoucie po naciśnięciu przycisku "pobierz statystyki". Morduję się z tym już 4 dzień i żadne tutoriale mi nie pomagają. Możecie jakoś pomóc i powiedzieć gdzie popełniam błędy?

    Mój kod programu:

    package com.example.lotto3;
    
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;
    
    import java.io.IOException;
    
    public class statystyka extends AppCompatActivity {
    
        private Button button3;
        private Button button4;
        TextView tekst = null, statystyka;
        String url2 = "http://megalotto.pl/statystyki/lotto/czestotliwosc-okres-czasu/100-ostatnich-losowan";
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_statystyka);
    
            button3 = (Button) findViewById(R.id.button3);
            button3.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    openMainActivity();
                }
            });
    
            statystyka =(TextView)findViewById(R.id.tekst);
    
            button4 =(Button) findViewById(R.id.button4);
            button4.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                        analiza2();
                }
            });
        }
    
                public void openMainActivity() {
                    Intent intent = new Intent(statystyka.this, MainActivity.class);
                    startActivity(intent);
    
                }
    
    
    
    
    
        private void analiza2() {
            tekst = findViewById(R.id.tekst);
            new Thread(new Runnable() {
                @Override
                public void run() {
                    final StringBuilder stringBuilder = new StringBuilder(); // do łączenia tekstów
                    try {
                        Document doc = Jsoup.connect(url2).get();
                        Elements elementy = doc.select("div.naglowek_raportu.naglowek_raportu_czestotliwosc_okres_czasu tr");
                        for (Element e : elementy) { // szukanie po wszystkich znalezionych elementacht
    
                            stringBuilder.append("\n").append(e.text());
    
                        }
                    } catch (IOException e) {
                        stringBuilder.append("Error : ").append(e.getMessage()).append("\n");
                    }
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            tekst.setText(stringBuilder.toString());
                        }
                    });
                }
            }).start();
        }
    }

     

    Edytowane przez futrzi

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Ok, ale z czym dokładnie masz problem? Na Twoim miejscu zrobiłbym prosty program w Kotlinie z JSoup, który pobiera dane ze strony, które potrzebujesz. Jak już się upewnisz, że masz kod, który działa i pobiera te dane, których oczekujesz dopiero wtedy wrzuć kod do aplikacji Android.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x