2017-10-10 167 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

它不能解决问题。 –

相关问题