Retrofit2 프레임워크 사용 요약
12764 단어 Retrofit2Android 기본 정보네트워크 로드 프레임워크
앞말
Retrofit2는 매우 강력한 네트워크 로드 프레임워크로 서버에 데이터를 편리하게 요청하고 대응하는 Java 클래스로 변환할 수 있습니다. 다음은 제가 이 프레임워크를 사용한 요약입니다.
1. 의존 추가
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
implementation 'com.google.code.gson:gson:2.7'
implementation'com.squareup.retrofit2:converter-gson:2.2.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'me.drakeet.multitype:multitype:3.4.4'
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.12.0'
Retrofit2를 사용하면 사실 1, 2, 3, 7개의 의존만 추가하면 된다. 7개의 의존은 HTTP 로그를 보는 프레임워크로 HTTP가 보내는 데이터가 정확한지 확인할 수 있다.
2. Retrofit2를 통해 HTTP API를 Java로 변환하는 인터페이스 예:
public interface API {
@GET("users/{userid}/followers")
Call<Response<List<User>>> getUsers(@Path("userid") String userid);
}
여기에서 @GET의 괄호 안에 있는 내용은 @Path의 내용과 일치해야 하며, URL 인터페이스를 동적으로 보완하고 인터페이스의 데이터를 요청할 수 있습니다.
3. 필요한 작업을 초기화하고 이전에 만든 Java 인터페이스의 대상을 되돌려주는 도구 클래스 쓰기
public class RetrofitHttpUtil {
public static API getApi(){
//Okhttp HTTP
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(logging)
.build();
// Retrofit
Retrofit retrofit=new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.baseUrl("https://stgapi.veervr.tv/")
.client(client)
.build();
API api=retrofit.create(API.class);
return api;
}
}
4. 서버에 요청을 보내고 데이터를 반환받아 처리한다
API api = RetrofitHttpUtil.getApi();
Call<Response<List<User>>> call = api.getUsers(selectText.getText().toString());
call.enqueue(new Callback<Response<List<User>>>() {
@Override
public void onResponse(Call<Response<List<User>>> call, retrofit2.Response<Response<List<User>>> response) {
//
userList.clear();
Response<List<User>> userSingleResponse = response.body();
userList.addAll(userSingleResponse.getData());
//
initFollowerMessage();
// item
addItem();
multiTypeAdapter.notifyDataSetChanged();
}
@Override
public void onFailure(Call<Response<List<User>>> call, Throwable t) {
//
t.printStackTrace();
Toast.makeText(MainActivity.this, " !", Toast.LENGTH_LONG).show();
}
});
참고:
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Retroffit2의 MultipartPOST금방 잊어버리기 때문에 필기를 합니다. 잘못이 있으면 꼭 지적해 주세요. 표제와 같다. API에 이미지 같은 거 넣고 싶어요. AndroidStudio 2.3.2 buildToolVersion 25.0.2 Retro...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.