我用读数据这个代码的HTML页面中网页数据,并把中的WebView阅读的Android
public class MainActivity extends Activity {
public WebView objwebview ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
objwebview = (WebView)findViewById(R.id.webView1);
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://www.google.com");
try
{
HttpResponse response = client.execute(request);
BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String line;
StringBuilder str = new StringBuilder();
while((line = reader.readLine()) != null) {
str.append(line);
}
objwebview.loadData(str.toString(), "text/html", "UTF-8");
}
catch(Exception e)
{
e.printStackTrace();
objwebview.loadData(e.toString(), "text/html", "UTF-8");
}
但是当我跑,我给这个错误(“android.os.networkonmainthreadexception”) 我该如何解决这个问题?
除非强制执行,否则无法在主线程中执行网络IO操作。通过使用上述两行,您可以让主线程访问网络并执行任何网络操作。 –
这是*不是一个好的解决方案。特别是,即使它允许您摆脱异常,它也会削弱您的应用程序的用户界面。所以它基本上就像关掉安全警卫。 –
是的,它会使应用程序挂起等待响应。但在一些独家案件中仍然有所帮助。这一个是信息。我会高兴 – Sayka