Java 从web加载数据导致错误
在我的应用程序中,我启动了一个mclick。。单击列表视图项时的listner。在这种情况下,我使用以下代码从网页加载数据:-Java 从web加载数据导致错误,java,android,Java,Android,在我的应用程序中,我启动了一个mclick。。单击列表视图项时的listner。在这种情况下,我使用以下代码从网页加载数据:- try { HttpClient httpClient = new DefaultHttpClient(); HttpContext localContext = new BasicHttpContext(); HttpGet httpGet = new HttpGet("http://www.spartanjava.co
try {
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpGet httpGet = new HttpGet("http://www.spartanjava.com");
HttpResponse response = httpClient.execute(httpGet, localContext);
String result = "";
BufferedReader reader = new BufferedReader(
new InputStreamReader(
response.getEntity().getContent()
)
);
String line = null;
while ((line = reader.readLine()) != null){
result += line + "\n";
}
} catch (Exception e) {
tv.setText("Error : "+e.getMessage());//tv is a textview
Toast.makeText(getApplicationContext(), "No connection", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
我已在类路径中包括以下JAR:-
commons-codec-1.6.jar
commons-logging-1.1.3.jar
httpclient-4.3.3.jar
httpclient-cache-4.3.3.jar
httpcore-4.3.2.jar
httpmime-4.3.3.jar
我在AnroidManifext.xml文件中拥有该权限。我收到的输出是catch块中的所有输出。textview被设置为值Error:null,toast被触发。知道我该如何继续吗?也许response.getEntity返回null
当您试图通过getContent获取实体上的InputStream时,如果不检查实体是否为null,它可能会触发NullPointerException
编辑
NetworkOnMainThreadException被抛出时,您必须在线程中执行网络操作,如本例所示:您的异常实际上准确地告诉您做错了什么。您没有使用其他线程执行网络操作 连接到url的代码应该在非UI线程的AsyncTasks doInBackground方法内执行
有关更多信息,请参见能否与我们共享完整堆栈跟踪?请尝试打印异常消息,而不仅仅打印为tv.setTextError:+e@Girubai,等等,我正在尝试我得到了这个错误->错误:android.os。NetworkOnMainThreadException@devaldcool同时,您正在尝试在主thred中进行网络调用,所以请在后台进行。看到此图吗