2017-10-10 303 views
-1

我需要在this website的左側選取前5個主題。但我無法從這個網站上獲得任何東西給我的Android應用程序android studio。我添加了jsoup庫和互聯網許可,所以我不認爲他們有問題。當我運行程序時,progressDialog工作,但它不從網站獲取數據。這應該添加數據到列表視圖,但它顯示空白屏幕。感謝您的幫助。我無法使用Android Studio中的網站進行html解析

這裏是我的應用程序main_activity類:

package ahmety.wired; 

import android.app.ProgressDialog; 
import android.os.AsyncTask; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
import org.jsoup.select.Elements; 
import java.io.IOException; 
import java.util.ArrayList; 


public class MainActivity extends AppCompatActivity { 

private ListView lv; 
public ArrayList liste= new ArrayList(); 
private ArrayAdapter<String> adapter; 
private static String URL="https://www.wired.com/"; 
private ProgressDialog progressDialog; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    lv=(ListView)findViewById(R.id.list); 
    adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,liste); 
    new VeriGetir().execute(); 
} 

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

@Override 
protected void onPreExecute() { 
    super.onPreExecute(); 

    progressDialog= new ProgressDialog(MainActivity.this); 
    progressDialog.setTitle("WIRED"); 
    progressDialog.setMessage("Loading.."); 
    progressDialog.setIndeterminate(false); 
    progressDialog.show(); 

} 

@Override 
protected Void doInBackground(Void... voids) { 

    try { 
     Document doc = Jsoup.connect(URL).timeout(30 * 1000).get(); 

     Elements makaleAdi = doc.select("li.card-component__description"); 

      liste.add(makaleAdi.text()); 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } 


    return null; 
} 


@Override 
protected void onPostExecute(Void aVoid) { 
    super.onPostExecute(aVoid); 

    lv.setAdapter(adapter); 
    progressDialog.dismiss(); 

} 
} 
} 
+0

使用debuger並檢查'GET'請求返回正確的頁面。如果沒有 - 問題與請求。如果是 - 問題是你解析結果的方式。 – TDG

+0

在調試中似乎沒有問題。最後一行表示調試 ''連接到目標VM,地址:'localhost:8615',transport:'socket'''。 –

+0

這意味着調試器工作正常:)你有沒有把任何斷點,所以你可以檢查'doc'的值例如? – TDG

回答

0

userAgent方法也:

Document doc = Jsoup.connect(URL).timeout(30 * 1000) 
       .userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6") 
       .get(); 
+0

它不能解決問題。 –

相關問題