JSoup在android中不工作
我正在创建一个应用程序来获取XKCD漫画(仅用于学习目的)。我正在使用JSoup获取图像的漫画标题和url,并使用通用图像加载器在ImageView中发布图像。然而,我面临着一些问题。这是我的主要活动JSoup在android中不工作,android,android-asynctask,jsoup,universal-image-loader,Android,Android Asynctask,Jsoup,Universal Image Loader,我正在创建一个应用程序来获取XKCD漫画(仅用于学习目的)。我正在使用JSoup获取图像的漫画标题和url,并使用通用图像加载器在ImageView中发布图像。然而,我面临着一些问题。这是我的主要活动 public class MainActivity extends Activity { private static final String TAG = "MyApp"; ImageView xkcdImgIV; TextView titleTV; @Ov
public class MainActivity extends Activity {
private static final String TAG = "MyApp";
ImageView xkcdImgIV;
TextView titleTV;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xkcdImgIV=(ImageView) findViewById(R.id.xkcdImgIV);
titleTV=(TextView) findViewById(R.id.titleTV);
try{
new AsyncImg().execute(new String[]{"http://www.xkcd.com/"});
} catch(NullPointerException e){
Log.d(TAG,"Null pointer exception")
}
}
private class AsyncImg extends AsyncTask<String,Void,Void>{
Document doc;
Elements elXkcdTitle;
Elements elXkcdImgUrl;
@Override
protected Void doInBackground(String... arg) {
try {
doc = Jsoup.connect(arg[0]).timeout(0).get();
elXkcdTitle=doc.select("#ctitle");
elXkcdImgUrl=doc.select("#comic img");
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String result) {
titleTV.setText(elXkcdTitle.first().text());
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.init( ImageLoaderConfiguration.createDefault(getApplicationContext() ));
imageLoader.displayImage(elXkcdImgUrl.first().attr("src"), xkcdImgIV);
}
}
}
公共类MainActivity扩展活动{
私有静态最终字符串TAG=“MyApp”;
ImageView xkcdImgIV;
文本视图标题电视;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xkcdImgIV=(ImageView)findViewById(R.id.xkcdImgIV);
titleTV=(TextView)findViewById(R.id.titleTV);
试试{
新建AsyncImg().execute(新字符串[]{”http://www.xkcd.com/"});
}捕获(NullPointerException e){
Log.d(标记“空指针异常”)
}
}
私有类AsyncImg扩展AsyncTask{
文件文件;
元素elXkcdTitle;
元素elXkcdImgUrl;
@凌驾
受保护的Void doInBackground(字符串…arg){
试试{
doc=Jsoup.connect(arg[0]).timeout(0.get();
elXkcdTitle=doc.select(“#ctitle”);
elXkcdImgUrl=doc.select(“#漫画img”);
}捕获(IOE异常){
e、 printStackTrace();
}
返回null;
}
受保护的void onPostExecute(字符串结果){
titleTV.setText(elXkcdTitle.first().text());
ImageLoader ImageLoader=ImageLoader.getInstance();
init(ImageLoaderConfiguration.createDefault(getApplicationContext());
displayImage(elXkcdImgUrl.first().attr(“src”),xkcdImgIV);
}
}
}
没有网络活动。我已授予该应用程序的Internet访问权限。此外,Logcat没有显示任何错误。Jsoup和Universal Image Loader JAR都包含在构建路径中。请随时询问其他信息。您正在
doInBackground
中接受异常。尝试替换e.printStackTrace()代码>带有Log.e(标签,e)代码>并查看Jsoup是否引发异常。@Jaap I替换了e.printStackTrace()代码>带有Log.e(标签,e)代码>.Logcat仍然没有显示任何错误。