准备阶段

我们准备在Android studio 中使用Jsoup爬取某个网页,并将其标题显示在app中。

引入Jsoup

在 build.gradle(Mouble:app)中写入

implementation 'org.jsoup:jsoup:1.9.2'

设置app允许网络访问

在mainifest文件中

//在上一行  <uses-permission android:name="android.permission.INTERNET"/>//在application中android:usesCleartextTraffic="true"

handler和多线程的学习

网络连接可能很耗时,因此需要把网络连接放到子线程中进行

对app各个控件的更改必须放在UI线程中,不能在子线程中直接更改,所以要使用Handler来进行信息的传递,保证线程安全。

经典方法thread加handler message

定义子线程并在子线程中提交信息

 Thread thread= new Thread(new Runnable() {            @Override            public void run() {                //耗时操作                Message msg=handler.obtainMessage();                try {                    Document doc=Jsoup.connect("https://www.52bqg.com/").get();                    title =doc.title();                    msg.obj=title;                }catch (IOException e){                    ex=e.toString();                    msg.obj=ex;                }                handler.sendMessage(msg);            }        });

在handler方法中获得信息并更新控件

private Handler handler=new Handler(){        @Override        public void handleMessage(@NonNull Message msg) {            super.handleMessage(msg);            if (msg.obj!=null)            textView.setText(msg.obj.toString());        }    };

jsoup的学习和使用

jsoup学习文档

更多相关文章

  1. Android(安卓)AsyncTask源码简单分析
  2. cocos2d-x学习之旅(四):1.4 使用eclipse编译Android(安卓)C++
  3. Android开发之SurfaceView
  4. Android学习之使用RadioGroup与RadioButton实现单选效果
  5. Android学习笔记(29):搜索框SearchView
  6. Android新线程中更新主线程UI中的View方法汇总
  7. AOSP和Chromium的Android(安卓)WebViewTest
  8. Android(安卓)更新UI的两种方法——handler和runOnUiThread()
  9. 我的Android进阶之旅------>Android百度地图定位SDK功能学习

随机推荐

  1. Android(安卓)要注意的内存占用问题
  2. Android(安卓)UI 之TextView控件中可选择
  3. Android:微软的金钱机器(更新)
  4. android 在init。rc中配置socket及其使用
  5. Android(安卓)WindowManager与窗口管理
  6. Android系统信息获取 之十四:获取WIFI热点
  7. [转]Android笔记:Eclipse嵌入Unity3D开发
  8. Android推荐学习路线图
  9. android中Intent传值与Bundle传值详解
  10. Android(安卓)input输入设备键值从底层到