Android Retrofit 의 간단 한 소개 와 사용
패키지:
copile'com.squareup.retrofit 2:retrofit:2.0-beta 4'//retrofit 2 에 필요 한 가방
copile'com.squareup.retrofit 2:converter-gson:2.0.0-beta 4'//ConverterFactory 의 Gson 의존 패키지
copile'com.squareup.retrofit 2:converter-scalars:2.0.0-beta 4'/ConverterFactory 의 String 의존 패키지
*가 져 온 retrofit 2 패키지 의 버 전 은 일치 해 야 합 니 다.그렇지 않 으 면 잘못 보 고 됩 니 다.
우선 우리 가 요청 한 Api 를 정의 합 니 다.우 리 는 이렇게 가정 합 니 다.
http://106.3.227.33/pulamsi/mobileLogin/submit.html
Okhttp 와 달리 Retrofit 는 우리 의 Call 대상 을 되 돌려 주 는 인 터 페 이 스 를 정의 해 야 합 니 다.여기 서 보 여 주 는 것 은 Post 요청 입 니 다.
public interface RequestServes {
@POST("mobileLogin/submit.html")
Call<String> getString(@Query("loginname") String loginname,
@Query("nloginpwd") String nloginpwd);
}
Retrofit 가 제공 하 는 요청 방식 은@GET 와@POST 가 있 고 매개 변 수 는@PATH 와@Query 등 이 있 습 니 다.저 희 는 자주 사용 하 는 것 만 소개 합 니 다.앞의 두 가 지 는 말 그대로 당신 의 요청 방식 Get or Post 를 정의 하 는 것 입 니 다.뒤의@PATH 는 매개 변 수 를 통 해 완전한 경 로 를 채 우 는 것 을 말 합 니 다.일반적인 용법:
@GET("{name}")
Call<User>
getUser(@Path("name") String name);
이 인자 username 은{name}에 채 워 져 완전한 Url 요청 주 소 를 만 듭 니 다.{name}은 자리 표시 자 에 해당 합 니 다.@Query 는 우리 가 요청 한 키 값 이 맞 는 설정 입 니 다.우 리 는 Call 대상 을 구축 할 때 이 매개 변 수 를 입력 합 니 다.
@POST("mobileLogin/submit.html")
Call<String> getString(@Query("loginname") String loginname,
@Query("nloginpwd") String nloginpwd);
여기@Query("loginname")
가 바로 키 입 니 다.뒤의 loginname 은 구체 적 인 값 입 니 다.주의해 야 할 것 은 Get 과 Post 요청 입 니 다.모두 이렇게 파 라 메 터 를 채 웁 니 다.인터페이스 가 끝 난 후에 우 리 는 Retrofit 대상 을 정의 하여 요청 해 야 합 니 다.
Retrofit 대상 만 들 기
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://106.3.227.33/pulamsi/")
// String
.addConverterFactory(ScalarsConverterFactory.create())
// Gson ( )
.addConverterFactory(GsonConverterFactory.create())
// Oservable<T>
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
이 곳 의 baseUrl 은 이전@POST("mobileLogin/submit.html")
에 정 의 된 매개 변 수 를 더 해 완전한 요청 주 소 를 만 듭 니 다.addConverterFactory(ScalarsConverterFactory.create())
반환 지원 을 구축 했다 는 뜻 입 니 다.만약 당신 의 Call 대상 의 범 형 이 다른 형식 을 받 으 려 면 다른 지원 을 추가 해 야 합 니 다.상기 코드 는 이미 열거 되 어 있 습 니 다.다음 에 우 리 는 이 Retrofit 대상 으로 RequestSerives 인터페이스 대상 을 만 듭 니 다.즉,우리 가 이전에 정 의 했 던 인터페이스 이 고 우리 의 Call 대상 을 얻 습 니 다.
RequestSerives requestSerives = retrofit.create(RequestSerives.class);// Java
Call<String> call = requestSerives.getString("userName", "1234");//
받 은 Call 대상 을 이용 하여 우 리 는 네트워크 요청 을 보 냈 다.
call.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
Log.e("===","return:"response.body().toString());
}
@Override
public void onFailure(Call<String> call, Throwable t) {
Log.e("==="," ");
}
});
위 에서 말 한 것 은 편집장 님 께 서 소개 해 주신 Android Retrofit 의 간단 한 소개 와 사용 입 니 다.여러분 께 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.