Форум программистов, компьютерный форум, киберфорум
Наши страницы

Получение ответа в формате json - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Запуск Activiry из Service http://www.cyberforum.ru/android-dev/thread1046402.html
Как запустить activity из сервиса так, чтобы при этом на фоне не показывалось основное приложение (которое рождает сервис) Наверное непонятно, объясню подробнее. Имеется сервис. По определенному...
Программирование Android Преобразования через матрицы Подскажите пожалуйста можно ли с помощью матриц преобразований брать из атласа определенный кадр и рисовать на экране в заданной точке? Сейчас для этого использую: public void drawBitmap (Bitmap... http://www.cyberforum.ru/android-dev/thread1046285.html
Программирование Android Не удаляется приложение с рабочего стола
Свое приложение закинул на телефон,установил,проверил все работает. Решил удалить как обычно. Удерживаю иконку приложения и перетаскиваю в корзину. Но телефон ни как на это не отреагировал. Удалил...
Программирование Android При долгом нажатии вывести контекстное меню
Здравствуйте, подскажите, пожалуйста, как сделать так, чтобы при долгом нажатии на адресную строку, выводилось контекстное меню. Браузер отображается через компонент WebView. BrowserActivity.java...
Программирование Android Как растягивать фон в layout только по горизонтали http://www.cyberforum.ru/android-dev/thread1045921.html
Есть layout, у него установлена картинка в качестве фона. Проблема в том, что картинка теряет пропорции при растягивании. Надо, чтобы картинка растягивалась только по горизонтали, а не вместившееся...
Программирование Android Как заставить работать setImageLevel в потомке ImageView Имею такой layout: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"... подробнее

Показать сообщение отдельно
EDIsaev
4 / 4 / 0
Регистрация: 27.03.2012
Сообщений: 136

Получение ответа в формате json - Программирование Android

18.12.2013, 13:04. Просмотров 2888. Ответов 16
Метки (Все метки)

пытаюсь получить ответ в формате json от моего php скрипта и разобрать его.
В общих чертах:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
    new RequestTask().execute("http://isaev.url.ph/getQuery.php");
...
  class RequestTask extends AsyncTask<String, String, String> {
 
    @Override
    protected String doInBackground(String... params) {
 
 
      Log.d(LOG_TAG,"#doInBackground#");
      try {
        //создаем запрос на сервер
        HttpParams httpParams=new BasicHttpParams();
        HttpProtocolParams.setVersion(httpParams,HttpVersion.HTTP_1_1);
        HttpProtocolParams.setContentCharset(httpParams,"UTF-8");
        HttpProtocolParams.setHttpElementCharset(httpParams,"UTF-8");
        //   httpParams.setBooleanParameter("http.protocol.expect-continue",false);
 
        HttpClient hc=new DefaultHttpClient(httpParams);
        hc.getParams().setParameter("http.protocol.version",HttpVersion.HTTP_1_1);
        //hc.getParams().setParameter("http.socket.timeout",new Integer(10000));
        hc.getParams().setParameter("http.protocol.content-charset",HTTP.UTF_8);
        Log.d(LOG_TAG,"  - hc");
        //ResponseHandler<String> res = new BasicResponseHandler();
        //Log.d(LOG_TAG,"  - res");
        //он у нас будет посылать get запрос
        HttpGet getMethod = new HttpGet(params[0]);//(params[0]);
        Log.d(LOG_TAG,"  - getMethod('"+params[0]+"')"+" - "+getMethod.getMethod().toString());
        Log.d(LOG_TAG,"  --URI: "+getMethod.getURI().toString());
        //получаем ответ от сервера
        HttpResponse response = hc.execute(getMethod);
        Log.d(LOG_TAG,"  - response: "+response.getEntity().getContent().toString());
 
        //HttpEntity entity = response.getEntity();
        //Log.d(LOG_TAG,"  - entity"+response.toString());
        //String str = EntityUtils.toString(entity,"UTF-8");
        //Log.d(LOG_TAG,"  - str"+response.toString());
        //JSONArray json = response.toString();
        //Log.d(LOG_TAG,"  - json");
        //Log.d(LOG_TAG,"response: "+json);
 
        try {
          JSONArray arr = new JSONArray((JSONTokener)response.getEntity());
          JSONArray subarr;
          int len=arr.length();
          Log.d(LOG_TAG,"length: "+len);
           for (int i = 0; i < len; i++) {
                subarr=arr.getJSONArray(i);
                String mid = subarr.getString(0);
                String title = subarr.getString(1);
                String language = subarr.getString(2);
                Log.d(LOG_TAG,"Arr["+i+"]: {mid='"+mid+"', title='"+title+"', language='"+language+"'}");
 
           }
           // int id = obj.getInt("id");
//            String str1 = obj.getString("table1");
  //          String str2 = obj.getString("table1_2");
    //        Log.d(LOG_TAG,"str1="+str1+"; str2="+str2);
            //Toast.makeText(getApplicationContext(), "Machine: " + machine,    Toast.LENGTH_SHORT).show();
          //}
        } catch (JSONException jsonEx) {
          Log.e("log_tag","Error parsing data "+jsonEx.toString());
          //Toast.makeText(getApplicationContext(), "fail", Toast.LENGTH_SHORT).show();
        }
 
        //посылаем на вторую активность полученные параметры
        //Intent intent = new Intent(MyActivity.this, SecondActivity.class);
        //то что куда мы будем передавать и что, putExtra(куда, что);
        //intent.putExtra(SecondActivity.JsonURL, response.toString());
        //startActivity(intent);
      } catch (Exception e) {
        System.out.println("Error(): "+e);
      }
      return null;
    }
в общем на строке
Java
1
2
 //получаем ответ от сервера
HttpResponse response = hc.execute(getMethod);
что-то идёт не так... хотя ответ приходит корректно (вижу в Wireshark), а до его тела никак не могу достучаться
на этой строке в логе вижу следующую ошибку
INFO/System.out(340): Error(): java.lang.ClassCastException: org.apache.http.conn.BasicManagedEntity

что я делаю не так?

ps: колдовать пытался на основе этого примера: ссылка
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.