Jsoup代码无效

时间:2017-03-17 22:11:40

标签: java android jsoup

嗨,我真的很新编码。我试图使用jsoup从特定网站http://www.rfebs.es/estadisticas/2017/liga/B_res.php提取文本(HTML),但我似乎无法做到这一点。这是我的代码,提前谢谢你!

package davidgb.baseballspain;


import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;



public class MainActivity extends AppCompatActivity {
TextView texx;
Document doc;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    texx=(TextView)findViewById(R.id.textp);
    Button but1 = (Button)findViewById(R.id.but);
    but1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            new doit().execute();
        }
    });
}

public class doit extends AsyncTask<Void, Void, Void> {
    String words;
    @Override
    protected Void doInBackground(Void... params) {
        try {
            doc = Jsoup.connect("http://www.rfebs.es/estadisticas/2017/liga/B_res.php").get();
            words= doc.text();
        } catch (Exception e) {
            e.printStackTrace();
        }return null;
    }
    @Override
    protected void onPostExecute(Void aVoid) {

        super.onPostExecute(aVoid);
        texx.setText(words);
    }
}
}

1 个答案:

答案 0 :(得分:0)

修改您的类,以便您不需要跨不同的线程访问公共变量:

public class doit extends AsyncTask<Void, Void, String> {

    @Override
    protected String doInBackground(Void... params) {
        try {
            Document doc = Jsoup.connect("http://www.rfebs.es/estadisticas/2017/liga/B_res.php").get();
            return doc.text();
        } catch (Exception e) {
            e.printStackTrace();
        } return null;
    }

    @Override
    protected void onPostExecute(String result) {
        texx.setText(result);
    }
}

编辑1

我在我的模拟器上重新运行完全相同的代码,它就像一个魅力。将屏幕截图附加为证据。一个注意事项:确保您的清单中已启用INTERNET

<uses-permission android:name="android.permission.INTERNET" />

enter image description here