2013-11-24 2 views
2

Я разработал приложение ios, которое теперь должно быть реализовано как приложение для Android. Я новичок в Android и у меня проблемы с форматом url.как передать входные данные в url в android

я кормление uname и PWD данных в ИОС через следующий код:

NSString *checkForLogin = [NSString stringWithFormat:[[@"http://" stringByAppendingString:IP] stringByAppendingString: @"&what=LoginCheck.php&un=%@&pwd=%@" ],username.text,pwd.text]; 

для андроид, я не получаю правильный конечный URL, используя следующий код:

nameValuePairs.add(new BasicNameValuePair("un", un.getText().toString())); 
     nameValuePairs.add(new BasicNameValuePair("pwd", pwd.getText().toString())); 
     HttpClient httpClient = new DefaultHttpClient(); 
     HttpPost httpPost = new HttpPost(constants.URL + "&what=LoginCheckJava.php"); 

     httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF_8")); 

окончательный URL Шоуда быть: XXXXXXXX/loadhtml.php где = DeliverySystem &, что = LoginCheck.php & ип = usertest & PWD = 1234567890

?

PLS помощи. ТНХ

ответ

0

Вы можете назвать эту задачу с

new PostMethodTask().execute("xxxxxxxx/loadhtml.php"); 

, и эта задача будет работать нормально для вас

private class PostMethodTask extends AsyncTask<String, Void, String> { 

    @Override 
    protected String doInBackground(String... params) { 

     HttpClient httpClient = new DefaultHttpClient(); 
     HttpResponse response; 
     HttpPost httpPost = new HttpPost(params[0]); 

     String responseString = null; 

     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
     nameValuePairs.add(new BasicNameValuePair("where", "DeliverySystem")); 
     nameValuePairs.add(new BasicNameValuePair("what", "LoginCheck.php")); 
     nameValuePairs.add(new BasicNameValuePair("un", "usertest")); 
     nameValuePairs.add(new BasicNameValuePair("pwd", "1234567890")); 

     try { 
      httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
     } catch (UnsupportedEncodingException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 

     try { 
      response = httpClient.execute(httpPost); 
      StatusLine statusLine = response.getStatusLine(); 
      if (statusLine.getStatusCode() == HttpStatus.SC_OK) { 
       ByteArrayOutputStream out = new ByteArrayOutputStream(); 
       response.getEntity().writeTo(out); 
       out.close(); 
       responseString = out.toString(); 
       return responseString; 
      } else { 
       response.getEntity().getContent().close(); 
       throw new IOException(statusLine.getReasonPhrase()); 
      } 
     } catch (ClientProtocolException e) { 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

     return null; 
    } 

} 
+0

любую идею, почему мой текущий код является неправильным? Я не могу создать URL-адрес, чтобы просмотреть его в консоли. – user3026788

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