2013-11-30 6 views
0

Я только начал тему, чтобы получить данные из JSON OpenData и визуализировать через мой телефон.Android Json Получить URL-адрес STOPPED

Я после этого учебника, и она работала все :)

https://www.learn2crack.com/2013/10/android-asynctask-json-parsing-example.html Адрес страницы гмм я получаю ДАННЫЕ является:

HTTP: // + api.learn2crack.com/android/json/ (жаль, что я не имею хорошую репутацию :))

Тогда я решил попробовать Opendata меня и мой андроид остановки приложений, URL-адрес является:

http://ckan.opendata.nets.upf.edu/storage/f/2013-11-30T16%3A49%3A59.118Z/london.json

Вы видите, это одно и то же имя и только меняют имя URL-кода. Вы знаете, если проблема связана с OpenData? и мне нужно разрешение? Потому что когда я выполняю вторую часть, мое приложение остановилось

ответ

0

Здесь это будет работать. Я использую Strict Policy, но обычно вы должны использовать Async. Пожалуйста, объясните, почему мы должны использовать Async вместо Strict Policy. Это не имеет никакого значения здесь

Когда я использую HttpPost, чтобы получить JSON из URL, я получаю эти ошибки: -

405 Method Not Allowed

Метод POST не допускается для этого ресурс.

Вы не можете файл

так я использую HttpGet: -

 String url = "http://ckan.opendata.nets.upf.edu/storage/f/2013-11-30T16:49:59.118Z/london.json"; 

    try{ 
     StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 

     StrictMode.setThreadPolicy(policy); 
     // defaultHttpClient 
     DefaultHttpClient httpClient = new DefaultHttpClient(); 
     //HttpPost httpPost = new HttpPost(url); 
     HttpGet httpGet = new HttpGet(url); 
     HttpResponse httpResponse = httpClient.execute(httpGet); 
     HttpEntity httpEntity = httpResponse.getEntity(); 
     is = httpEntity.getContent(); 
BufferedReader reader = new BufferedReader(new InputStreamReader(
       is, "iso-8859-1"), 8); 
     StringBuilder sb = new StringBuilder(); 
     String line = null; 
     while ((line = reader.readLine()) != null) { 
      sb.append(line + "\n"); 
     } 
     is.close(); 
     JSONObject jObj = new JSONObject(sb.toString()); 
     JSONArray json2 = json.getJSONArray("user"); 

     for (int i = 0; i < json2.length(); i++) { 
      JSONObject c = json2.getJSONObject(i); 
    } 
} 
catch (Exception e) { 
      e.printStackTrace(); 
     }