2014-09-28 136 views
0

我正在爲我的網站製作Android應用程序。我知道製作Android應用程序的基礎知識,我正在使用Android Developer工具。我遇到了一個問題,不讓我顯示從網站獲取的數據。用jsoup解析HTML片段

我在其他項目中試過這個代碼,它工作正常。但是當我想用Fragment使用它時,不要顯示任何內容。

class Description extends AsyncTask<String, String, String> { 
    String desc; 
    String url="http://www.techmuzz.com"; 
    protected String doInBackground(String... params) { 

     try { 
      Document document = Jsoup.connect(url).get(); 
      desc = document.title(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     return null; 
    } 

    protected void onPostExecute(Void result) { 

     if(desc!=null){ 
     txtdesc.setText("Description is Null"); 
     } 
     else 
     { 
      txtdesc.setText("Description has some data."); 
     } 

    } 
} 

我有這個logcat結果。

09-28 13:26:51.891: D/AbsListView(30083): onDetachedFromWindow 
09-28 13:26:56.531: W/dalvikvm(30083): No implementation found for native Ldalvik/system/VMRuntime;.pauseGc:(Ljava/lang/String;)I 
09-28 13:26:56.531: E/ActivityThread(30083): Pause GC 
09-28 13:26:56.531: E/ActivityThread(30083): java.lang.reflect.InvocationTargetException 
09-28 13:26:56.531: E/ActivityThread(30083): at java.lang.reflect.Method.invokeNative(Native Method) 
09-28 13:26:56.531: E/ActivityThread(30083): at java.lang.reflect.Method.invoke(Method.java:515) 
09-28 13:26:56.531: E/ActivityThread(30083): at android.app.ActivityThread.pauseGC(ActivityThread.java:5525) 
09-28 13:26:56.531: E/ActivityThread(30083): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2324) 
09-28 13:26:56.531: E/ActivityThread(30083): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471) 
09-28 13:26:56.531: E/ActivityThread(30083): at android.app.ActivityThread.access$900(ActivityThread.java:175) 
09-28 13:26:56.531: E/ActivityThread(30083): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) 
09-28 13:26:56.531: E/ActivityThread(30083): at android.os.Handler.dispatchMessage(Handler.java:102) 
09-28 13:26:56.531: E/ActivityThread(30083): at android.os.Looper.loop(Looper.java:146) 
09-28 13:26:56.531: E/ActivityThread(30083): at android.app.ActivityThread.main(ActivityThread.java:5602) 
09-28 13:26:56.531: E/ActivityThread(30083): at java.lang.reflect.Method.invokeNative(Native Method) 
09-28 13:26:56.531: E/ActivityThread(30083): at java.lang.reflect.Method.invoke(Method.java:515) 
09-28 13:26:56.531: E/ActivityThread(30083): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
09-28 13:26:56.531: E/ActivityThread(30083): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
09-28 13:26:56.531: E/ActivityThread(30083): at dalvik.system.NativeStart.main(Native Method) 
09-28 13:26:56.531: E/ActivityThread(30083): Caused by: java.lang.UnsatisfiedLinkError: Native method not found: dalvik.system.VMRuntime.pauseGc:(Ljava/lang/String;)I 
09-28 13:26:56.531: E/ActivityThread(30083): at dalvik.system.VMRuntime.pauseGc(Native Method) 
09-28 13:26:56.531: E/ActivityThread(30083): ... 15 more 
09-28 13:26:56.671: D/ProgressBar(30083): updateDrawableBounds: left = 0 
09-28 13:26:56.671: D/ProgressBar(30083): updateDrawableBounds: top = 0 
09-28 13:26:56.671: D/ProgressBar(30083): updateDrawableBounds: right = 96 
09-28 13:26:56.671: D/ProgressBar(30083): updateDrawableBounds: bottom = 96 
09-28 13:26:59.861: W/dalvikvm(30083): No implementation found for native Ldalvik/system/VMRuntime;.pauseGc:(Ljava/lang/String;)I 
09-28 13:26:59.861: E/ActivityThread(30083): Pause GC 
09-28 13:26:59.861: E/ActivityThread(30083): java.lang.reflect.InvocationTargetException 
09-28 13:26:59.861: E/ActivityThread(30083): at java.lang.reflect.Method.invokeNative(Native Method) 
09-28 13:26:59.861: E/ActivityThread(30083): at java.lang.reflect.Method.invoke(Method.java:515) 
09-28 13:26:59.861: E/ActivityThread(30083): at android.app.ActivityThread.pauseGC(ActivityThread.java:5525) 
09-28 13:26:59.861: E/ActivityThread(30083): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2324) 
09-28 13:26:59.861: E/ActivityThread(30083): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471) 
09-28 13:26:59.861: E/ActivityThread(30083): at android.app.ActivityThread.access$900(ActivityThread.java:175) 
09-28 13:26:59.861: E/ActivityThread(30083): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) 
09-28 13:26:59.861: E/ActivityThread(30083): at android.os.Handler.dispatchMessage(Handler.java:102) 
09-28 13:26:59.861: E/ActivityThread(30083): at android.os.Looper.loop(Looper.java:146) 
09-28 13:26:59.861: E/ActivityThread(30083): at android.app.ActivityThread.main(ActivityThread.java:5602) 
09-28 13:26:59.861: E/ActivityThread(30083): at java.lang.reflect.Method.invokeNative(Native Method) 
09-28 13:26:59.861: E/ActivityThread(30083): at java.lang.reflect.Method.invoke(Method.java:515) 
09-28 13:26:59.861: E/ActivityThread(30083): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
09-28 13:26:59.861: E/ActivityThread(30083): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
09-28 13:26:59.861: E/ActivityThread(30083): at dalvik.system.NativeStart.main(Native Method) 
09-28 13:26:59.861: E/ActivityThread(30083): Caused by: java.lang.UnsatisfiedLinkError: Native method not found: dalvik.system.VMRuntime.pauseGc:(Ljava/lang/String;)I 
09-28 13:26:59.861: E/ActivityThread(30083): at dalvik.system.VMRuntime.pauseGc(Native Method) 
09-28 13:26:59.861: E/ActivityThread(30083): ... 15 more 
09-28 13:26:59.891: D/AbsListView(30083): Get MotionRecognitionManager 
09-28 13:27:02.911: D/dalvikvm(30083): GC_FOR_ALLOC freed 378K, 13% free 10265K/11732K, paused 28ms, total 28ms 
09-28 13:27:05.336: D/dalvikvm(30083): GC_FOR_ALLOC freed 200K, 14% free 10321K/11996K, paused 43ms, total 44ms 
09-28 13:27:05.336: I/dalvikvm-heap(30083): Grow heap (frag case) to 11.457MB for 334384-byte allocation 
09-28 13:27:05.361: D/dalvikvm(30083): GC_FOR_ALLOC freed 128K, 15% free 10520K/12324K, paused 25ms, total 25ms 
09-28 13:27:05.386: D/dalvikvm(30083): GC_FOR_ALLOC freed 469K, 18% free 10324K/12488K, paused 23ms, total 23ms 
09-28 13:27:05.401: D/dalvikvm(30083): GC_FOR_ALLOC freed 218K, 17% free 10432K/12488K, paused 12ms, total 12ms 
09-28 13:27:05.401: I/dalvikvm-heap(30083): Grow heap (frag case) to 11.671MB for 445840-byte allocation 
09-28 13:27:05.416: D/dalvikvm(30083): GC_FOR_ALLOC freed 0K, 16% free 10867K/12924K, paused 12ms, total 12ms 
09-28 13:27:05.431: D/dalvikvm(30083): GC_FOR_ALLOC freed 435K, 18% free 10650K/12924K, paused 13ms, total 13ms 
09-28 13:27:05.551: D/dalvikvm(30083): GC_FOR_ALLOC freed 733K, 16% free 10933K/12924K, paused 13ms, total 13ms 
09-28 13:27:05.641: D/dalvikvm(30083): GC_FOR_ALLOC freed 514K, 13% free 11532K/13132K, paused 18ms, total 18ms 
09-28 13:27:05.821: D/dalvikvm(30083): GC_FOR_ALLOC freed 916K, 15% free 11923K/13928K, paused 19ms, total 19ms 
09-28 13:27:05.946: D/dalvikvm(30083): GC_FOR_ALLOC freed 970K, 15% free 12338K/14412K, paused 25ms, total 25ms 
+0

您是否在清單中聲明Internet權限?如果是這樣,你的logcat中有東西嗎? – 2014-09-28 07:46:35

+0

是的,我已經在Manifest文件中聲明瞭Internet權限。 – 2014-09-28 07:56:25

回答

1

你有protected void onPostExecute(Void result)但不符合AsyncTask<String, String, String>。更改爲protected void onPostExecute(String result)

並調整onPostExecute中的邏輯。反轉它。正如你現在告訴你有desc == null的數據;

您的LogCat雖然與此問題無關。