关于在android开发中使用jsoup的详解
2015-11-09 21:14
253 查看
我自己在用MP3播放器的时候,利用jsoup从网上下载网页并解析,但是发现在导入jsoup包之后,发现出现java.lang.NoClassDefFoundError:org.jsoup.Jsoup问题 ,如下:
我已经设置了网络权限,后面通过查询发现是因为ADT20以后不支持导入Jsoup.jar包,要想继续使用应该先将导入的包删了,再在自己项目的根目录下建立libs目录,方法如下:右键项目,选择folder,在弹出的选项中输入libs,然后直接将Jsoup.jar包移到libs中,这里说下,我用复制黏贴不行,然后直接拖拽的,因为libs貌似不能打开,也可能是我不知道
2.,然后运行程序,接下来会出现android.os.NetworkOnMainThreadException错误,这个错误是4.0之后在主线程里面执行Http请求都会报这个错误,这个错误的解决方法如下:将jsoup的哪些代码放在一个线程中,如我自己写的 class DownListener implements OnClickListener{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
new Thread(downloadRun).start();
}
}
Runnable downloadRun = new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
DownLoad download=new DownLoad();
String geci=download.Download();
System.out.println("geci:"+geci);
}
};
}
这是在activity中的代码一部分,DownLoad这个类是自己写的,这个类中存放的就是jsoup的代码,如果直接在监听器调中写 DownLoad download=new DownLoad(); String geci=download.Download();,就会出现这个错误,需要放在一个线程中,代码如上,再次运行程序就好了,在这里特别说下,一定要记得在AndroidManifest.xml中声明访问网络权限,这样应该就不会有问题了。
我已经设置了网络权限,后面通过查询发现是因为ADT20以后不支持导入Jsoup.jar包,要想继续使用应该先将导入的包删了,再在自己项目的根目录下建立libs目录,方法如下:右键项目,选择folder,在弹出的选项中输入libs,然后直接将Jsoup.jar包移到libs中,这里说下,我用复制黏贴不行,然后直接拖拽的,因为libs貌似不能打开,也可能是我不知道
2.,然后运行程序,接下来会出现android.os.NetworkOnMainThreadException错误,这个错误是4.0之后在主线程里面执行Http请求都会报这个错误,这个错误的解决方法如下:将jsoup的哪些代码放在一个线程中,如我自己写的 class DownListener implements OnClickListener{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
new Thread(downloadRun).start();
}
}
Runnable downloadRun = new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
DownLoad download=new DownLoad();
String geci=download.Download();
System.out.println("geci:"+geci);
}
};
}
这是在activity中的代码一部分,DownLoad这个类是自己写的,这个类中存放的就是jsoup的代码,如果直接在监听器调中写 DownLoad download=new DownLoad(); String geci=download.Download();,就会出现这个错误,需要放在一个线程中,代码如上,再次运行程序就好了,在这里特别说下,一定要记得在AndroidManifest.xml中声明访问网络权限,这样应该就不会有问题了。
相关文章推荐
- Android中RecycleView使用GridLayoutManager时自适应高度
- Android-即时通训
- xmlpullparser用法体会
- Android编译和运行原理
- Android各种分辨率
- Android生命周期:Activity,Thread,服务,广播,fragment
- android隐式意图激活浏览器
- 关于百度地图的应用android开发步骤
- android的uri以及UriMatcher讲解
- Android动态加载学习笔记(一)
- MPAndroidChat的PieChart和BarChart学习
- 从源码角度解析Android事件分发机制
- Android中Cursor类的概念和用法
- 搭建Android开发环境
- OS X-Android-VLC编译过程
- android环境配置
- Android 中的DisplayMetrics类的用法
- Android 和 js 相互调用
- android 进度条设置显示格式
- [置顶] Android afterTextChanged中逻辑卡顿的问题