Здравствуйте. Я получаю файл JSON с URL-адреса устройства Android. Я понятия не имею, почему я получаю только первый символ JSON, это «{» вместо
{"status":"OK","num_results":5,"results":[{"id":1,"title":"Apartamentos Campus"
,
Тогда is.available () возвращает 1 все время.
Самое смешное, что если я использую в другом устройстве, он получает все.
Я использую Wi-Fi для подключения.
И вывод, который я получаю:
03-11 13: 12: 17.377: VERBOSE / Mixare (15816): попытки: 1
03-11 13: 12: 17.382: VERBOSE / Mixare (15816): is.available (): 1
03-11 13: 12: 17.462: VERBOSE / Mixare (15816): попытки: 1
03-11 13: 12: 17.482: VERBOSE / Mixare (15816): is.available (): 1
03-11 13: 12: 19.417: VERBOSE / Mixare (15816): попытки: 2
03-11 13: 12: 19.417: VERBOSE / Mixare (15816): is.available (): 1
...
А это код:
public InputStream getHttpGETInputStream(String urlStr, int attemps) throws Exception {
URL u = new URL(urlStr);
InputStream is = null;
try{
URLConnection uc = u.openConnection();
is = uc.getInputStream();
}
catch(Exception e){
Log.v(MixView.TAG, "Excepcion leyendo inputStream: "+e.getMessage());
}
Log.v(MixView.TAG, "attemps: "+attemps);
Log.v(MixView.TAG, "is.available(): "+is.available());
if(is.available() < 50 && attemps < 6){
try {
Thread.sleep(2000);//para y lo vuelve a intentar descargar
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
attemps++;
is.close();
return getHttpGETInputStream(urlStr,attemps);
}
return is;
}