๋ฐ์ํ
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 | 31 |
Tags
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- ์คํธ๋ฆผ๋ฆฟ
- ํ์ด์ฌ
- JavaScript
- Android
- Streamlit๊ธฐ์ด
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- serverless
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- Pandas
- Flutter
- ํ๋ค์ค
- ํ์ด์ฌ๊ณต๋ถ
- RESTful API
- ์น๋์๋ณด๋ ์ ์
- ์๋ฐ๊ธฐ์ด
- db
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- MySQL
- ์๋ฐ๊ณต๋ถ
- ํ๋ค์ค๊ณต๋ถ
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- ์น๋์๋ณด๋ ๊ธฐ์ด
- ์๋ฐ์ด๋ณด
- REACT
- ์๋๋ก์ด๋ ์คํ๋์ค
- ์๋ฐ
- streamlit
- ์๋ฐ์คํฌ๋ฆฝํธ
- java
Archives
- Today
- Total
ruriruriya
[Android] ์๋๋ก์ด๋ - Retrofit2 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด์ฉํ POST๋ก API ํธ์ถํ์ฌ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ ๋ณธ๋ฌธ
๐คAndroid/Java
[Android] ์๋๋ก์ด๋ - Retrofit2 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด์ฉํ POST๋ก API ํธ์ถํ์ฌ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ
๋ฃจ๋ฆฌ์ผใ 2024. 1. 5. 17:13๋ฐ์ํ
Retrofit2 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํด์ POST๋ก API ํธ์ถํ์ฌ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์.
Retrofit2 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ ํ๊ฒฝ ์ค์ ์ ๋จผ์ ํด์ผ ํ๋ค.
์๋ ๋งํฌ ์ฐธ๊ณ !
https://ruriruriya.tistory.com/161
[Android] ์๋๋ก์ด๋ - Retrofit2 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ ์ํ ์ค์ ๋ฐฉ๋ฒ
Retrofit์ ์๋๋ก์ด๋ ์ฑ์์ ๋คํธ์ํฌ ํต์ ์ ๊ฐํธํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ Square์ฌ์์ ๊ฐ๋ฐ๋์์ผ๋ฉฐ, ์๋๋ก์ด๋ ์ฑ์์ RESTful API์์ ํต์ ์ ํจ์จ์
ruriruriya.tistory.com
ํด๋น Activity ์ค์
- retrofit ์ฌ์ฉ์ ์ํ ๋ณ์๋ฅผ ์์ฑํ๋ค.
- api ํจํค์ง์ ์๋, Interface๋ฅผ ์์ฑํ๋ค.
- ๋ณด๋ผ ๋ฐ์ดํฐ๋ฅผ ๋ฌถ์ ์ฒ๋ฆฌํด์ ๋ง๋ ๋ค.
- api ํธ์ถํ๋ค.
- ์๋ฒ๋ก๋ถํฐ ๋ฐ์ ์๋ต์ ์ฒ๋ฆฌํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
btnRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String email = editEmail.getText().toString().trim();
String password = editPassword.getText().toString().trim();
String nickname = editNickname.getText().toString().trim();
// ๋คํธ์ํฌ ํ์๊ฐ์
API๋ฅผ ํธ์ถํ๋ค. โ
โ
โ
โ
โ
// 1. retrofit ๋ณ์ ์์ฑ
Retrofit retrofit = NetworkClient.getRetrofitClient(RegisterActivity.this);
// 2. api ํจํค์ง์ ์๋, Interface ์์ฑ
UserApi api = retrofit.create(UserApi.class);
// 3. ๋ณด๋ผ ๋ฐ์ดํฐ ๋ง๋ ๋ค. => ๋ฌถ์ ์ฒ๋ฆฌ : ํด๋์ค์ ๊ฐ์ฒด ์์ฑ.
User user = new User(email, password, nickname);
// 4. api ํธ์ถ
Call<UserRes> call = api.register(user);
// 5. ์๋ฒ๋ก๋ถํฐ ๋ฐ์ ์๋ต์ ์ฒ๋ฆฌํ๋ ์ฝ๋ ์์ฑ.
call.enqueue(new Callback<UserRes>() {
@Override
public void onResponse(Call<UserRes> call, Response<UserRes> response) {
// ์๋ฒ์์ ๋ณด๋ธ ์๋ต์ด 200 OK์ผ ๋ ์ฒ๋ฆฌํ๋ ์ฝ๋
if(response.isSuccessful()){
UserRes userRes = response.body();
SharedPreferences sp = getSharedPreferences(Config.PREFERENCE_NAME,MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString("token",userRes.access_token);
editor.apply();
// ์ด์ ์์ผ๋ฏ๋ก ๋ฉ์ธ ์กํฐ๋นํฐ๋ฅผ ์คํํ๋ค.
Intent intent = new Intent(RegisterActivity.this,MainActivity.class);
startActivity(intent);
finish();
}
}
@Override
public void onFailure(Call<UserRes> call, Throwable t) {
// ์ ์ ํํ
๋คํธ์ํฌ ํต์ ์คํจํ๋ค๊ณ ์๋ ค์ค๋ค.
Toast.makeText(RegisterActivity.this,"๋คํธ์ํฌ ํต์ ์คํจ.",Toast.LENGTH_SHORT).show();
}
});
}
});
๋ฐ์ํ