제1장 APT의 생성 Retrofit+Rxjava 관리 클래스

2551 단어

발단


최근 이 단계에서 네트워크 요청은 Retrofit+Okhttp+Rxjava 방식으로 바뀌었습니다. 뒤에 ROR라고 약칭합니다. 이전보다 확장성과 유지보수성이 높아지고 네트워크 로드 속도도 이전보다 빨라졌습니다.(어, 난 못 짜. 사실 Rxjava 업그레이드 2 때 한 번 크게 고친 적이 있어)
이제 쓸데없는 말은 그만하고 본론으로 들어가 ROR를 사용하는 과정에서 코드를 결합시켰지만 중복된 코드가 있어서 어떻게 최적화해야 할지 모르겠다.예를 들면 다음과 같습니다.
private APIService apiService;
    public APIService getApiService() {
        return apiService==null ?
        GearHttpServiceManager.getInstance().getRetrofit().create(APIService.class)
        :apiService;
    }

    private TravelNotesAPI mTravelNotesAPI;
    public TravelNotesAPI getTravelNotesAPI(){
        return mTravelNotesAPI==null ?
                GearHttpServiceManager.getInstance().getRetrofit().create(TravelNotesAPI.class)
                : mTravelNotesAPI;
    }

    private BreadtripAPI mBreadtripAPI;
    public BreadtripAPI getBreadtripAPI(){
        return mBreadtripAPI==null ?
                GearHttpServiceManager.getInstance().getRetrofit().create(BreadtripAPI.class)
                : mBreadtripAPI;
    }
APIServiceManager.getInstance()
                .getTravelNotesAPI()
                .getTravelNotesList(key, page + "")
                .compose(obj.bindToLifecycle())
                .compose(RxSchedulersHelper.io_main())
                .compose(SchedulersHelper.handleResult())
                .doOnTerminate(() -> view.disDialog())
                .subscribe(d -> obj.dataBinding(d),
                        e -> obj.dataError(e));

APIServiceManager.getInstance()
                .getBreadtripAPI()
                .getTravelNotesList(key,String.valueOf(page) ,count+"","trip")
                .compose(obj.bindToLifecycle())
                .compose(RxSchedulersHelper.io_main())
                .compose(SchedulersHelper.handleResultBread())
                .doOnTerminate(() -> view.disDialog())
                .subscribe(d -> obj.dataBinding(d),
                        e -> obj.dataError(e));

이를 통해 알 수 있듯이 안의 문법은 모두 비슷하다. 단지 필요한 매개 변수가 다를 뿐이다. 매번 새로운api가 있을 때마다api의 데이터 로드 실현 방법을 써야 한다. 매우 게으른 사람으로서 이런 것들을 손으로 쓰고 싶지 않다. 그러면 어떤 방법이 있을까?
선배들은 이미 우리에게 이 플러그인을 준비해 주었다. 바로 apt이다. 컴파일할 때 자바 클래스를 방문하고 생성함으로써 우리는 더욱 편리하게 프로그래밍을 할 수 있다.
물론 apt 같은 것도 저는 접촉한 적이 없습니다. 여기는 apt를 배워서 최종적으로 제가 원하는 결과를 생성하는 과정을 여러분과 공유하겠습니다.
여러 날 동안 연구를 했기 때문에 장과 절의 방식을 사용하면 장과 절의 연결은 각 장의 마지막에 통일적으로 놓인다.
github:hackerlc

장별 목록


제1장 APT의 생성Retrofit+Rxjava 관리 클래스 제2장 APT의HelloWorldClass 제3장 APT의 생성 인터페이스 관리 클래스

좋은 웹페이지 즐겨찾기