2013-08-20 37 views
0

当我打开应用程序时,我收到消息“应用程序停止”。可能是什么原因?Android JSoup使应用程序崩溃

主类:

public class MainActivity extends Activity { 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); // Always call super.onCreate() first. 
     setContentView(R.layout.activity_main); // Then load the layout. 

     // Find textView3 in layout and set it's text to HTML code. 
     // There's no need to create a new TextView() here. 
     TextView textView = (TextView) findViewById(R.id.textView1); 
     textView.setText(getHtmlCode()); 
     } 

     // Structure your code. If it's a larger block that does one thing, 
     // extract it into a method. 
     private String getHtmlCode() { 
     try { 
      Document doc = Jsoup.connect("http://www.example.com/").get(); 
      Element content = doc.select("a").first(); 
     // return content.text(); 
      return "kktt"; 
     } catch (IOException e) { 
      Toast.makeText(this, "Failed to load HTML code", 
       Toast.LENGTH_SHORT).show(); 
      return "kk"; 
     } 
     } 
    } 

////Elements divs = doc.select("div#test"); //select all the content of the div tags with the id attribute set to test 

* I中的AsyncTask添加)罐子库

+0

张贴您的错误。 –

回答

0

移动getHtmlCode(。你不应该在onCreate()方法或主线程上进行网络操作。所以把你的代码移到AsyncTask。并可以更新AsyncTask本身的UI。

0

您需要对Android清单文件具有以下权限。

<uses-permission android:name="android.permission.INTERNET" /> 

添加上述权限后,需要将方法getHtmlCode()内的代码移动到异步任务或线程中。之后,你很好走。