httpurlclient在android中是可以读到url表示的网页中的内容的,但是在webview中,使用就会出错,代码如下:wv.loadUrl("http://www.baidu.com");
wv.setWebViewClient(new WebViewClient() { @Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
} @Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
URL cumtURL;
try {
cumtURL = new URL(url);
URLConnection cumtConnection = cumtURL.openConnection();
DataInputStream din = new DataInputStream(cumtConnection
.getInputStream());
String inputLine;
while ((inputLine = din.readLine()) != null) {
System.out.println(inputLine);
}
din.close(); } catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});错误是:android.os.NetworkOnMainThreadException
请问为什么呢?
wv.setWebViewClient(new WebViewClient() { @Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
} @Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
URL cumtURL;
try {
cumtURL = new URL(url);
URLConnection cumtConnection = cumtURL.openConnection();
DataInputStream din = new DataInputStream(cumtConnection
.getInputStream());
String inputLine;
while ((inputLine = din.readLine()) != null) {
System.out.println(inputLine);
}
din.close(); } catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});错误是:android.os.NetworkOnMainThreadException
请问为什么呢?
解决方案 »
- 关于EditText的getText()
- android在SQLite中,继续了openSqliteHelper,但怎么用更新数据库呢?
- 自己仔细看了下实在是找不出问题的所在.麻烦大虾们看看!
- 请教高手
- Android.jar 如何替换
- 做类似于UC桌面的应用,如果采用android开发主要需要定义什么类型呢?
- img文件疑惑
- 为什么真机上BroadCast-Receiver总是没效果?
- 问下为什么自己定义的appwidget 在模拟器上添加不了
- android存储卡路径的问题
- Android Http request 报 IOExcepiton
- 如何禁止android webview 向下拖拽
// TODO Auto-generated method stub
String strVer=GetVersion.GetSystemVersion();
strVer=strVer.substring(0,3).trim();
float fv=Float.valueOf(strVer);
if(fv>2.3)
{
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork() // 这里可以替换为detectAll() 就包括了磁盘读写和网络I/O
.penaltyLog() //打印logcat,当然也可以定位到dropbox,通过文件保存相应的log
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects() //探测SQLite数据库操作
.penaltyLog() //打印logcat
.penaltyDeath()
.build());
}
给你应用放行 或者loadurl放到异步中