그 동안은 Volley 라이브러리로 네트워크 통신할 때 GET 방식과 body는 null로만 보냈었는데,
네이버 파파고 api 이용을 위해 공식문서를 보면서 POST 방식으로 body에 데이터를 담아 보내봤다.
RequestQueue queue = Volley.newRequestQueue(MainActivity.this);
String url = "https://openapi.naver.com/v1/papago/n2mt";
JSONObject body = new JSONObject();
try {
body.put("source", "ko");
body.put("target", target);
body.put("text", sentence);
} catch (JSONException e) {
return;
}
JsonObjectRequest request = new JsonObjectRequest(
Request.Method.POST,
url,
body,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
String result = response.getJSONObject("message").getJSONObject("result").getString("translatedText");
txtResult.setText(result);
History history = new History(sentence, result, target);
historyArrayList.add(0, history);
} catch (JSONException e) {
return;
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
return;
}
}
)
queue.add(request);
- JsonObjectRequest()의 첫번째 인자에 Request.Method.POST 작성한다. (POST 방식으로 요청)
- 세번째 인자에 json 형식으로 데이터를 보내야 한다. 그러므로 JSONObject 객체를 생성한다.
- json 객체이기 때문에 put() 함수로 key, value 형식으로 데이터를 넣는다. 파파고 API 설명서에 나와 있는
- 필수 파라미터와 해당 값을 넣어준다. 그 후 body 변수를 세번째 인자에 넣으면 된다.
'Android Studio' 카테고리의 다른 글
[Android Studio] Retrofit2 라이브러리 사용을 위한 세팅 방법 (2) | 2024.01.04 |
---|---|
[Android Studio] Volley 라이브러리로 통신 시 Header에 데이터 세팅하는 방법 (1) | 2024.01.03 |
[Android Studio] RecyclerView 페이징 처리하기 (0) | 2024.01.03 |
[Android Studio] 안드로이드에서 YouTube API 사용하기전 세팅하기(API 키 생성) (0) | 2024.01.02 |
[Android Studio] Intent로 다른 액티비티 띄우기(연락처 선택, 웹브라우저 실행, SMS/Email 작성, 텍스트 공유) (0) | 2024.01.02 |