Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Запуск Activiry из Service http://www.cyberforum.ru/android-dev/thread1046402.html
Как запустить activity из сервиса так, чтобы при этом на фоне не показывалось основное приложение (которое рождает сервис) Наверное непонятно, объясню подробнее. Имеется сервис. По определенному событию он должен выводить popup окошко с заданным содержимым (картинка, кнопка): Intent popupIntent = new Intent(this, PopupActivity.class); ...
Программирование Android Преобразования через матрицы Подскажите пожалуйста можно ли с помощью матриц преобразований брать из атласа определенный кадр и рисовать на экране в заданной точке? Сейчас для этого использую: public void drawBitmap (Bitmap bitmap, Rect src, Rect dst, Paint paint) а как это сделать через: public void drawBitmap (Bitmap bitmap, Matrix matrix, Paint paint) ??? http://www.cyberforum.ru/android-dev/thread1046285.html
Программирование Android Не удаляется приложение с рабочего стола
Свое приложение закинул на телефон,установил,проверил все работает. Решил удалить как обычно. Удерживаю иконку приложения и перетаскиваю в корзину. Но телефон ни как на это не отреагировал. Удалил через Диспетчер > Мое приложение > Удалить. Почему с рабочего сразу не удаляется?Кто сталкивался с этим? P.S. Телефон Samsung GrandDuos v.4.1.2
Программирование Android При долгом нажатии вывести контекстное меню
Здравствуйте, подскажите, пожалуйста, как сделать так, чтобы при долгом нажатии на адресную строку, выводилось контекстное меню. Браузер отображается через компонент WebView. BrowserActivity.java public class BrowserActivity extends Activity { WebView webview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...
Программирование Android Как растягивать фон в layout только по горизонтали http://www.cyberforum.ru/android-dev/thread1045921.html
Есть layout, у него установлена картинка в качестве фона. Проблема в том, что картинка теряет пропорции при растягивании. Надо, чтобы картинка растягивалась только по горизонтали, а не вместившееся по вертикали обрезалось. Единственное, что пока приходит на ум, создать потомок layout в котором в методе onMeasure устанавливать фон из Drawable который предварительно обрезать через ClipDrawable....
Программирование Android Как заставить работать setImageLevel в потомке ImageView Имею такой layout: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_vertical"> <ru.rafaelrs.necksaver.OnTopImageView android:layout_width="wrap_content" подробнее

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

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

18.12.2013, 13:04. Просмотров 2702. Ответов 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: колдовать пытался на основе этого примера: ссылка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru