Правильно ли использовать HttpGet при работе с API?
ДА
Если да, то какие ошибки я там допустил?Я всегда получаю "исключение" в моем TextView. :
, потому что вы передаете неправильный URL в HttpGet
Правильный путь:
Fist Добавить URL-параметры в URL:
ВАШ СМОТРЕТЬ, КАК:
String strurl="http://stackoverflow.com/questions/tagged/android?page=5&sort=newest&pagesize=15";
ИСПОЛЬЗОВАТЬ TinyURL «API»:
HttpClient httpclient = new DefaultHttpClient();
HttpGet httppost = new HttpGet("http://tinyurl.com/api-create.php");
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("url",strurl));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
HttpEntity resEntityGet = response.getEntity();
tinyUrl=EntityUtils.toString(resEntityGet);
Теперь используйте этот URL-адрес tinyUrl как:
try {
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(tinyUrl);
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");
}
ИЛИ ЕСЛИ ВЫ ХОТИТЕ ИСПОЛЬЗОВАТЬ СТАТИЧЕСКИЙ URL, ТОГДА КОДИРУЙТЕ URL, ИСПОЛЬЗУЯ tinyurl с параметрами, затем передайте HttpGet()
DONE!