2014-10-24 1 views
-2

Надеюсь, кто-то может указать мне в правильном направлении. Немного новичок в Android, так что там, если я просто полностью упустил что-то глупое. Я отрывал свои волосы от этого. Я создаю строку, которая отправляется обработчику службы для захвата json-информации. Проблема заключается в том, что я могу отправить ее без проблем, если json url жестко закодирован. вот так: String url = "google.com" , но когда я пытаюсь поместить переменные в URL-адрес, например: String url = "www. google.com/ "+ файл; это задыхается. Я пробовал чертово близко ко всему, что я могу придумать. Любая помощь будет принята с благодарностью. Спасибо. Прилагается мой фрагмент кода.Переменные в JSON URL String Android

String url = "http://mapp.snc.edu/cgi-bin/ma/classes/" + subs + ""; \t \t 
 
\t \t 
 
     // Creating service handler class instance 
 
     ServiceHandler sh = new ServiceHandler(); 
 
     
 
     // Making a request to url and getting response 
 
     String jsonStr = sh.makeServiceCall(url, ServiceHandler.GET); 
 
     
 
     
 
     Log.d("Response: ", "> " + jsonStr); 
 
     
 
     JSONParser jParser = new JSONParser(); 
 
     // Getting JSON from URL 
 
     JSONObject json = jParser.getJSONFromUrl(url); 
 
     try { 
 
      // Getting JSON Array 
 
      term = json.getJSONArray(TAG_TERM); 
 
      JSONObject c = term.getJSONObject(0); 
 
      // Storing JSON item in a Variable 
 
      String termdesc = c.getString(TAG_ID); 
 

 
      //Importing TextView 
 
      final TextView uid = (TextView)findViewById(R.id.header); 
 
      
 
      //Set JSON Data in TextView 
 
      uid.setText(termdesc); 
 
      
 
     } catch (JSONException e) { 
 
     e.printStackTrace(); 
 
     }

+1

что фактическая ошибка или проблема вы столкнулись? – Panther

+0

Все приложение падает, когда я использую переменные в URL-адресе. –

+1

post logcat ... –

ответ

0

Использование HttpClient добавить переменные:

try{ 
     HttpClient httpclient = new DefaultHttpClient(); 

     HttpPost request = new HttpPost(); 
     request.setURI(new URI("your main website");); 

     ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
     nameValuePairs.add(new BasicNameValuePair("yourkey1", yourvalue1)); 
     nameValuePairs.add(new BasicNameValuePair("yourkey2", yourvalue2)); etc... 

     request.setEntity(new UrlEncodedFormEntity(nameValuePairs)); //Add parameters to connection 

     HttpResponse response = httpclient.execute(request); 

     String jsonString = response.getEntity().getContent().toString(); 
     (...) 
    } 
    catch(Exception e){ 
     Log.e("log_tag", "Error in http connection "+e.toString()); 
    } 
Смежные вопросы