마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

retrofit2 반복코드 줄이는 부분의 질문입니다

0 추천
    public void getData(HashMap<String, Object> parameters, final ApiCallback callback) {
        
        apiInterface.UserLogin(parameters).enqueue(new Callback<UserModel>() {
            @Override
            public void onResponse(Call<UserModel> call, Response<UserModel> response) {
                Log.e("리스폰스 : ", response.body().toString());
                if (response.isSuccessful()) {
                    callback.onSuccess(response.code(), response.body());
                } else {
                    callback.onFailure(response.code());
                }
            }

            @Override
            public void onFailure(Call<UserModel> call, Throwable t) {
                Log.e("온에러", t.toString());
                callback.onError(t);
            }
        });
    }

 

현재 apiInterface를 불러오는 부분에서 UserLogin 을 선언해준 부분만 바뀌고 (rest요청주소 때문)

나머지가 모두 동일할 때, 저 UserLogin 부분만 변수화 한다던지 getData를 호출할때

인자값으로 제어해서 바꿔줄 방법이 없을까요?

인터페이스 이름만 바뀌고 나머지가 동일한 코드가 엄청 많아질거 같은데 방법이 없을런지요,

(method reflection invoke 부분을 알아봤는데 인터페이스와 콜백까지 끼니 도저히 시도할 엄두가 안나네요ㅠ)

 

파르네제 (2,030 포인트) 님이 2018년 11월 28일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...