2013-10-11 61 views
0

我想要获得与ADT的Android谷歌pagerank与下面的代码,但它给BufferedReader线上的NetworkOnMainThreadException。android java获取谷歌pagerank

String url = "http://toolbarqueries.google.com/tbr?client=navclient-auto&hl=en&" 
     + "ch=6" + hash + "&ie=UTF-8&oe=UTF-8&features=Rank&q=info:" + domain; 
URLConnection conn = new URL(url).openConnection(); 

BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); 

String input; 
while ((input = br.readLine()) != null) { 
    result = input.substring(input.lastIndexOf(":") + 1); 
} 

顺便说一下,我尝试在PC java项目上的这个相同的代码,它工作正常。 我也给了AndroidManifest.xml的以下权限。

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

回答

0

这是一个谷歌你自己的问题,在Android中你不应该让在UI线程(该块),持续时间长的工作运行。通过使用异步任务避免此异常

+0

yes无论如何发现它。我使用AsyncTask在线程内使用它。 –