2013-05-30 2 views
0

Я разбор данных с помощью объекта JSON, а данные также разбор от сервера, он показывает в консоли, но он получил сбой в эмуляторе ..Разбор данных с помощью JSON в андроиде

Вот мой код:

public class jsonUtil { 
    static HttpURLConnection urlConnection; 

    public static HttpURLConnection openConnection() throws Exception { 
     int responseCode = -1; 
     try { 
      URL url = new URL("url display"); 
      urlConnection = (HttpURLConnection) url.openConnection(); 
      urlConnection.setRequestMethod("POST"); 
      urlConnection.setRequestProperty("Content-Type", 
        "application/x-www-form-encoded"); 
      urlConnection.setRequestProperty(
        "Content-Length", 
        "" + Integer.toString("category=breaking_news&latitude=&longitude=" 
              .getBytes().length)); 
      urlConnection.setRequestProperty("Content-Language", "en-US"); 
      urlConnection.setRequestProperty("Accept-Encoding", "identity"); 
      urlConnection.setUseCaches(false); 
      urlConnection.setDoInput(true); 
      urlConnection.setDoOutput(true); 
      urlConnection.setReadTimeout(10 * 1000); 
      urlConnection.setConnectTimeout(10 * 1000); 

      DataOutputStream wr = new DataOutputStream(
        urlConnection.getOutputStream()); 
      wr.writeBytes("category=breaking_news&latitude=&longitude="); 
      wr.flush(); 
      wr.close(); 
      responseCode = urlConnection.getResponseCode(); 
      if (responseCode != HttpURLConnection.HTTP_OK) { 
       throw new Exception("Server not responding"); 
      } 
     } catch (SocketException e) { 
      throw new Exception("Connection Time Out"); 
     } catch (java.net.UnknownHostException unknownHostException) { 
      // TODO: handle exception 
      throw new Exception("unknownHostException"); 
     } catch (Exception e) { 
      // TODO: handle exception 
      throw new Exception("Error Occured"); 
     } 
     return urlConnection; 
    } 

    public static ArrayList<String> jsonParseList = new ArrayList<String>(); 

    public static ArrayList<String> jsonParsing() { 
     StringBuffer buffer = new StringBuffer(); 
     JSONArray array; 

     try { 
      try { 
       urlConnection = openConnection(); 
      } catch (Exception e1) { 
       // TODO Auto-generated catch block 
       e1.printStackTrace(); 
      } 

      BufferedReader bufferedReader = new BufferedReader(
       new InputStreamReader(urlConnection.getInputStream())); 
      String line = bufferedReader.readLine(); 
      while (line != null) { 
       buffer.append(line); 
       line = bufferedReader.readLine(); 
      } 
      bufferedReader.close(); 
      if (buffer.toString() != null) { 
       try { 
        array = new JSONArray(buffer.toString()); 
        JSONObject jsonObject; 
        for (int i = 0; i < array.length(); i++) { 
         jsonObject = array.getJSONObject(i); 
         String conv_title = jsonObject.getString("conv_title"); 
         String content = jsonObject.getJSONObject("first_post") 
          .getString("content"); 
         String creator = jsonObject.getJSONObject("first_post") 
          .getJSONObject("creator").getString("name"); 
         Log.e("List Values", conv_title); 
         jsonParseList.add(conv_title); 
        } 
       } catch (JSONException e) { 
        e.printStackTrace(); 
       } 
      } 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     return jsonParseList; 
    } 
} 

Logcat:

'06: 35: 21,637: Е/Список активность (795): [] 05-30 06: 35: 21,687: Вт/трассировки (795): Неожиданное значение от nativeGetEnabledTags: 0 05-30 06: 35: 21.697: W/Trace (795): Неожиданное значение из nativeGetEnabledTags: 0 05-30 06: 35: 21.717: W/Trace (795): Неожиданное значение от nativeGetEnabledTags: 0 05-30 06: 35: 21.927: I/Хореограф (795): пропущено 144 кадра! (795): Неожиданное значение от nativeGetEnabledTags: 0 05-30 06: 35: 22.158: I/Хореограф (795): Пропущено 48 кадров! Приложение может делать слишком много работы над своей основной нитью. 05-30 06: 35: 22.317: W/Trace (795): Неожиданное значение из nativeGetEnabledTags: 0 05-30 06: 35: 22.317: W/Trace (795): Неожиданное значение из nativeGetEnabledTags: 0 05-30 06: 35: 22.337: W/Trace (795): Неожиданное значение из nativeGetEnabledTags: 0 05-30 06: 35: 23.485: D/dalvikvm (795): GC_CONCURRENT освобожден 276K, 12% бесплатно 2894K/3288K, приостановлено 69ms + 3 мс, всего 134 мс 05-30 06: 35: 23.642: E/Список ценностей (795): Премьер-министр Манмохан Сингх сегодня представляет отчетную карточку УПА II : E/Сводные значения (795): США и Индия обязуются сотрудничать Борьба с терроризмом 05-30 06: 35: 23.652: E/Список ценностей (795): США и Индия обязуются сотрудничать в борьбе с терроризмом 05-30 06: 35: 23.652: E/Сводные значения (795): реальные мотивы Пакистана выставлен 05-30 06 : 35: 23.652: E/Сводные значения (795): фактические мотивы Пакистана выставлены 05-30 06: 35: 23.657: E/Список значений (795): рупия восстанавливается незначительно, вверх по 6 paise в начале торгов 05-30 06 : 35: 23.657: E/Сводные значения (795): рупия восстанавливается незначительно, до 6 фунтов в начале торгов 05-30 06: 35: 23.657: E/Сводные значения (795): 43 офицера IPS в UP переданы 40 раз в их карьера 05-30 06: 35: 23.657: E/List Values ​​(795): 43 офицеров IPS в UP были переведены 40 раз в свою карьеру 05-30 06: 35: 23.657: E/List Values ​​(795): Allahabad HC отклоняет ходатайство Талвара об осмотре 14 свидетелей 05-30 06: 35: 23.657: E/List Values ​​(795): Министр обороны Шаши Кант Шарма примет на себя новый CAG 05-30 CAG 05-30 06:35 : 23.691: E/Список значений (795): Сила Оклахомы Торнадо карликов Хиросима бомба 05-30 06: 35: 23.691: E/Список значений (795): Банк оштрафован на 50 000 рупий за невыплату фиксированного депозита 05-30 06: 35: 58.607: W/Trace (795): Неожиданное значение из nativeGetEnabledTags: 0

+0

Сообщение вашей LogCat журнал ошибок – Mahesh

+0

LogCat ....... ??? – Sam

+0

Этот URL выглядит подозрительно. Может быть, вы просто удалили его, чтобы скрыть реальную ценность? Как и в предыдущих комментариях, сообщение об ошибке помогло бы. – Qben

ответ

2

Я не люблю sppon корма для вас, давая код, чтобы проверить ссылку ниже Android JSON Синтаксического учебника доступны на ссылку ниже, ваша проблема будет получить решена с помощью этого http://www.androidhive.info/2012/01/android-json-parsing-tutorial/

+0

Я уже использовал этот пример, но все же он показывает активность списка как empty..please предложит мне решение .. – Sandy

+2

Это должно быть как комментарий (если вы хотите предложить любую ссылку в Интернете или блоге). Да, это было бы приемлемо в качестве ответа, если бы вы включили более подробную информацию с любыми ссылками. –

0

Вы можете проверить эту ссылку и сравнить уры шагов с этим ...

Я думаю, что u настраивает данные ответа на любой элемент управления, который не инициализирован ..

https://github.com/AndroidBegin/Android-JSON-Parse-Images-and-Texts-Tutorial

+1

Как насчет предоставления ссылки на ваш [существующий ответ] (http://stackoverflow.com/questions/16829279/how-to-fetch-data-from-json/16829418#16829418)? –

+0

Его не полезно для моей проблемы .. – Sandy

+0

если ур получает данные в logcat, тогда вы можете легко установить его на ur creatd views. – PankajSharma

Смежные вопросы