Java 从网站到android应用程序的照片

Java 从网站到android应用程序的照片,java,android,listview,jsoup,Java,Android,Listview,Jsoup,我使用ListView和Jsoup创建了一个简单的应用程序,可以显示网站上的照片,任何人都可以告诉我为什么模拟器每次都会崩溃?代码有什么问题 公共类MainActivity扩展了活动{ private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInst

我使用ListView和Jsoup创建了一个简单的应用程序,可以显示网站上的照片,任何人都可以告诉我为什么模拟器每次都会崩溃?代码有什么问题

公共类MainActivity扩展了活动{

private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.listview);
     listView = (ListView) findViewById( R.id.listview); 
     final ArrayList list = new ArrayList();

     Document doc = null;

    try {

        doc = (Document) Jsoup.connect("http://mongol.co.il/").get();
        Elements divs = ((Elements) doc).select("img[src$=.jpg]");

        for (org.jsoup.nodes.Element div : divs)
        {   
            list.add(div);
        }
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    ArrayAdapter adapter = new ArrayAdapter(this,
            android.R.layout.simple_list_item_1, list);
        listView.setAdapter(adapter);


}

}

不要在您的
onCreate中发出http请求,我认为这将在ICS及以上版本中引发异常,因为您正在阻止UI线程。

您好,我的应用程序中也有此功能

解决方案相当简单:

所有联网操作都必须在Asyntask或线程中完成

我个人使用的异步任务如下:

        private class LoadImages extends AsyncTask<Void, Void, Void> {

        @Override
        protected void onPostExecute(Void result) {
            // TODO Auto-generated method stub
            super.onPostExecute(result);
            // Here you can do any UI operations like textview.setText("test");
        }

        @Override
        protected Void doInBackground(Void... params) {
            // TODO Auto-generated method stub
Document doc = null;

    try {

        doc = (Document) Jsoup.connect("http://mongol.co.il/").get();
        Elements divs = ((Elements) doc).select("img[src$=.jpg]");

        for (org.jsoup.nodes.Element div : divs)
        {   
            list.add(div);
        }
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
        return null;
    }
私有类LoadImages扩展异步任务{
@凌驾
受保护的void onPostExecute(void结果){
//TODO自动生成的方法存根
super.onPostExecute(结果);
//在这里,您可以执行任何UI操作,如textview.setText(“测试”);
}
@凌驾
受保护的Void doInBackground(Void…参数){
//TODO自动生成的方法存根
单据单据=空;
试一试{
doc=(文档)Jsoup.connect(“http://mongol.co.il/).get();
元素divs=((元素)文档)。选择(“img[src$=.jpg]”;
for(org.jsoup.nodes.Element div:divs)
{   
列表。添加(div);
}
}捕获(IOE1异常){
//TODO自动生成的捕捉块
e1.printStackTrace();
}
返回null;
}

请添加您的crashlog。请从logcat.FATAL EXCEPTION:main java.lang.RuntimeException:无法启动活动组件信息{com.example.mongo/com.example.mongo.MainActivity}:java.lang.ClassCastException:org.jsoup.nodes.Document在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)提供错误详细信息04-20 12:52:46.061:E/AndroidRuntime(400):在java.lang.reflect.Method.invoke(Method.java:521)04-20 12:52:46.061:E/AndroidRuntime(400):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(zgoteinit.java:868)04-20 12:52:46.061:E/AndroidRuntime(400):在com.android.internal.os.zgoteinit.main(zgoteinit.java:626)04-20 12:52:46.061:E/AndroidRuntime(400):在dalvik.system.NativeStart.main(本机方法)非常感谢!这个类不应该扩展活动?onCreate方法呢?