Retrofit2 를 이용한 http 통신


http 통신하여 데이터를 받아오기위해 Retrofit2 라이브러리를 사용해 봤습니다.

공식 홈페이지에 있는 예제를 활용해봤는데요.

라이브러리를 사용하지 않았을때보다는 코드는 간단해진거 같은데,

예제의 데이터를 가져와 액티비티에 뿌려주는데도 시간이 오래걸립니다. 약 3초?

저의 사용 방법이 잘못된건가요?

괜찮은 라이브러리가 있다면 추천도 해주시면 좋겠습니다~

  • interface
public interface GitHubService {

    @GET("users/{user}/repos")
    Call<List<Repo>> listRepos(@Path("user") String user);

}
  • MainActivity
Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("https://api.github.com/")
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        GitHubService service = retrofit.create(GitHubService.class);
        final Call<List<Repo>> repos = service.listRepos("octocat");

        repos.enqueue(new Callback<List<Repo>>() {
            @Override
            public void onResponse(Call<List<Repo>> call, Response<List<Repo>> response) {
                List<Repo> repoList = response.body();
                textView.setText(repoList.toString());
            }

            @Override
            public void onFailure(Call<List<Repo>> call, Throwable t) {

            }
        });
  • 2016년 03월 27일에 작성됨
    Software Engineer

  • 특별히 잘못 사용하시는 부분은 없는 것 같습니다. 네트워크가 느렸거나 JSON 컨버팅이 오래걸린게 아닐까요?    Leonardo YongUk Kim   2016.3.28 15:16     
  • 집 네트워크가 이상하긴한데 영향이 있었네요. 데이터를 좀 더 가공해서 테스트해봐야겠어요.    김선우   2016.3.28 20:00     
조회수 1355


1 답변


좋아요
3
싫어요
채택취소하기

저도 사용하다 그런경우가 생기더군요...

"내부적으로 Dynamic Proxy를 사용하고 런타임에 애노테이션을 파싱한다. 두 번째 호출부터는 애노테이션에 있는 정보가 캐시되지만 첫 번째 호출은 길어질 수 있다"

http://d2.naver.com/helloworld/377316


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close