【发布时间】:2012-03-12 19:38:03
【问题描述】:
我正在尝试在我的 Android 应用中使用 this API。很简单,你给它一个tiny URL,它就会返回原来的。
这是我第一次使用 API。所以,我就是这样做的:
try {
HttpClient client = new DefaultHttpClient();
String url = "http://tiny.pl/htk" //The tiny URL
String getURL = "http://untiny.me/api/1.0/extract?url="+url+"&format=text"; //The API service URL
HttpGet get = new HttpGet(getURL);
HttpResponse responseGet = client.execute(get);
HttpEntity resEntityGet = responseGet.getEntity();
if (resEntityGet != null) {
//do something with the response
Log.i("GET RESPONSE",EntityUtils.toString(resEntityGet));
output.setText(EntityUtils.toString(resEntityGet)); //This is a TextView
}
else {
output.setText("null reponse");
}
} catch(Exception e) {
output.setText("exception");
}
我的问题是:
- 使用
HttpGet是处理 API 的正确方法吗? - 如果是,那么我在那里犯了什么错误?我的 TextView 中总是出现“异常”。
【问题讨论】:
-
添加 e.printStackTrace();到你的 catch 块。然后查看你的日志输出,看看抛出了什么异常。
-
没有出现。我的 LogCat 没有显示任何内容!!你是说我处理 API 的方式是正确的?
-
不,如果您的 TextView 显示“异常”,则说明出现问题。您需要添加 e.printStackTrace();调用你的 catch 块,这样你就可以看到实际抛出了什么异常。在您这样做之前,您的日志猫中不会出现任何内容。
-
我们没有您显示的代码的任何上下文。这是在单独的线程上吗?如果是这样,您无法从非 UI 线程中触摸 UI 元素(您的文本视图)。如果您遇到错误,您应该发布您遇到的错误,以便我们帮助追查问题
-
@Tim:我已经添加了。什么都没有出现。
标签: android api httpresponse http-get