๋ฐ์ํ
Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
Tags
- ์คํธ๋ฆผ๋ฆฟ
- Matplotlib ๊ธฐ์ด
- db
- ์๋ฐ
- ์๋ฐ์คํฌ๋ฆฝํธ
- Android
- ์น๋์๋ณด๋ ๊ธฐ์ด
- ํ์ด์ฌ
- Streamlit๊ธฐ๋ณธ
- ์๋ฐ๊ณต๋ถ
- ํ๋ค์ค
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- Pandas
- ํ์ด์ฌ๊ณต๋ถ
- serverless
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ํ๋ค์ค๊ณต๋ถ
- ์๋ฐ๊ธฐ์ด
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- MySQL
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- JavaScript
- java
- ์น๋์๋ณด๋ ์ ์
- ์๋ฐ์ด๋ณด
- RESTful API
- Streamlit๊ธฐ์ด
- streamlit
- ์๋๋ก์ด๋ ์คํ๋์ค
Archives
- Today
- Total
ruriruriya
[Android] ์๋๋ก์ด๋ - Volley์์ Header์ ๋ฐ์ดํฐ ์ธํ ํ๋ ๋ฐฉ๋ฒ ๋ณธ๋ฌธ
๐คAndroid/Java
[Android] ์๋๋ก์ด๋ - Volley์์ Header์ ๋ฐ์ดํฐ ์ธํ ํ๋ ๋ฐฉ๋ฒ
๋ฃจ๋ฆฌ์ผใ 2024. 1. 4. 00:34๋ฐ์ํ
ํํ๊ณ API๋ฅผ ์ฌ์ฉํ๋ฉด์ ์ํฌ๋ฆฟ ํค๋ฅผ Volley Header์ ๋ฐ์ดํฐ๋ฅผ ์ธํ ํด๋ณด์.
1.Config ํจํค์ง - config.java ์์ฑ
์๋๋ก์ด๋ ์ฑ์์ Config.java ๋๋ Constants.java์ ๊ฐ์ ํ์ผ์ ์ฑ ์ ๋ฐ์ ๊ฑธ์ณ ์ฌ์ฉ๋๋ ์์, ์ค์ ๊ฐ, ํค, URL ๋ฑ์ ๋ด๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ด ํ์ผ์ ์ฑ์ ๊ตฌ์ฑ์ ๊ด๋ฆฌํ๊ณ ๋ณ๊ฒฝ์ด ํ์ํ ๊ฐ๋ค์ ํ ๊ณณ์ ๋ชจ์๋์ด ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ฒ ํ๋ค.
2. config.java
๋ค์ด๋ฒ ํด๋ผ์ด์ธํธ ์์ด๋์ ์ํฌ๋ฆฟ ํค๋ฅผ ์ด๋ค.
์ด๋ ๋ณ์๋ช ์ ๋๋ฌธ์์ ์ธ๋๋ฐ๋ฅผ ์ฌ์ฉํ๋ค.
public class Config {
public static final String X_NAVER_CLIENT_ID = "X-Naver-Client-Id";
public static final String X_NAVER_CLIENT_SECRET = "X-Naver-Client-Secret";
}
3. ์ํฌ๋ฆฟ ํค header ์ฝ์
JsonObjectRequest์ ํ๋ผ๋ฏธํฐ ๋ค์ ์์ฑํ๋ค.
RequestQueue queue = Volley.newRequestQueue(MainActivity.this);
String url = "https://openapi.naver.com/v1/papago/n2mt";
JSONObject body = new JSONObject();
try {
body.put("source", "en");
body.put("target", target);
body.put("text", sentence);
} catch (JSONException e) {
// ์ ์ ํํ
์๋ ค์ฃผ๊ณ
return;
}
JsonObjectRequest request = new JsonObjectRequest(
Request.Method.POST,
url,
body,// 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 ex) {
// ์ ์ ์๊ฒ ์๋ฆฌ๊ณ
return;
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}
) {
// ๋ค์ด๋ฒ ์ํฌ๋ฆฟ ํค. header ์ฝ์
๋ฐฉ๋ฒ
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headers = new HashMap<>();
headers.put("X-Naver-Client-Id", Config.X_NAVER_CLIENT_ID);
headers.put("X-Naver-Client-Secret", Config.X_NAVER_CLIENT_SECRET);
return headers;
}
};
queue.add(request);
๋ฐ์ํ