我试图转换网址的内容,并将其用作字符串来创建一个toast,全部由一个按钮调用。
@Override
public void onClick(View arg0) {
String ExampleURL = ("http://pastebin.com/raw.php?i=ty0h7cS2");
HttpClient httpClient = new DefaultHttpClient();
HttpGet get = new httpGet(ExampleURL);
HttpResponse response = null;
try {
response = httpClient.execute(get);
} catch (IOException e) {
e.printStackTrace();
}
String ExampleURLContent = null;
try {
ExampleURLContent = EntityUtils.toString(response.getEntity());
} catch (IOException e) {
e.printStackTrace();
}
Toast.makeText(getApplicationContext(), "10 + 10 = " + ExampleURLContent, Toast.LENGTH_SHORT).show();
}
它编译,但点击按钮强制关闭。 logcat的:
java.lang.NullPointerException: Attempt to invoke virtual method
'boolean java.net.URI.isAbsolute()' on a null object reference
at org.apache.http.impl.client.AbstractHttpClient.determineTarget(AbstractHttpClient.java:496)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
at de.dotwee.kwsolver.MainActivity$1.onClick(MainActivity.java:54)
that is this line --> (response = httpClient.execute(get);)
at android.view.View.performClick(View.java:4756)
at android.view.View$PerformClick.run(View.java:19749)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
有任何帮助吗?此外,是否有更简单的方法用更少的代码?
答案 0 :(得分:1)
试试这个
String ExampleURLContent = null;
try {
if(response != null){
ExampleURLContent = EntityUtils.toString(response.getEntity());
}
} catch (IOException e) {
e.printStackTrace();
}