我自横刀向天笑,去留肝胆两昆仑。这篇文章主要讲述继上篇博客对安卓爬虫以及TextView更新的问题解释相关的知识,希望能为你提供帮助。
只能在主线程更新ui,或者用handler传输。爬虫是在另一个异步线程进行,所以爬出来的数据对控件赋值就比较麻烦。这次使用了线程数据传到runnable将数据传到handler进行赋值。
结果图:
文章图片
源码:
String word="软件工程"; // textView.setText(content.text().toString()); //将爬取到的内容给另一个页面赋值 class MyRunnable implements Runnable { @Override public void run() { try{ Document doc = (Document) Jsoup.connect("https://baike.baidu.com/item/"+word).get(); Element content = doc.select("div.para").first(); //String title = doc.title(); //String title = doc.title(); con=content.text().toString(); Message message=new Message(); message.obj=con; }catch(java.io.IOException e) { e.printStackTrace(); } // TODO Auto-generated method stub System.out.println("马佳慧"+con); Message msg = new Message(); Bundle bundle = new Bundle(); bundle.putString("name", con); msg.setData(bundle); handler.sendMessage(msg); }Handler handler = new Handler() { public void handleMessage(Message msg) { TextViewtextView = ( TextView) findViewById(R.id.textView1); Bundle b = new Bundle(); b = msg.getData(); System.out.println(b.get("name")+"测试数据"); textView.setText(b.get("name").toString()); } }; }@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(activity_main); new Thread(new MyRunnable()).start(); }
【继上篇博客对安卓爬虫以及TextView更新的问题解释】
推荐阅读
- Android Studio 设置编辑器(Editor)的字体字体大小
- 使用TensorFlow 2.0实现神经样式转换
- TensorFlow 2.0的十个重要更新
- 电子表格的库存模型模拟
- 使用电子表格中的INDEX-MATCH处理数据
- 在Python中使用星号
- Tableau中的聚类分析
- Tableau中的象限分析
- 2020年的顶级Python IDE合集热门推荐