Android에서 POST 데이터를 보내는 방법
Android용으로 개발할 때 POST 데이터를 원격 서버로 보내는 방법을 아는 것이 중요합니다. 이 기사에서는 더 이상 사용되지 않는 AsyncTask와 보다 현대적인 접근 방식을 모두 사용하여 이를 달성하는 방법에 대한 포괄적인 가이드를 제공합니다.
더 이상 사용되지 않는 AsyncTask 메서드
다음 코드 조각은 다음 방법을 보여줍니다. AsyncTask를 사용하여 POST 데이터 보내기 클래스:
public class CallAPI extends AsyncTask<String, String, String> { public CallAPI() { //set context variables if required } @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected String doInBackground(String... params) { String urlString = params[0]; // URL to call String data = params[1]; //data to post OutputStream out = null; try { URL url = new URL(urlString); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); out = new BufferedOutputStream(urlConnection.getOutputStream()); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, "UTF-8")); writer.write(data); writer.flush(); writer.close(); out.close(); urlConnection.connect(); } catch (Exception e) { System.out.println(e.getMessage()); } } }
Android 6.0용 업데이트 방법
public void postData() { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php"); try { List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("id", "12345")); nameValuePairs.add(new BasicNameValuePair("stringdata", "Hi")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response = httpclient.execute(httppost); } catch (ClientProtocolException e) { // TODO Auto-generated catch block } catch (IOException e) { // TODO Auto-generated catch block } }
위 내용은 Android에서 POST 데이터를 보내는 방법: AsyncTask와 최신 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!