2016-06-28 5 views
1

Android에서 Retrofit 2.0 및 DownloadManager를 사용하여 URL에서 파일을 다운로드하려면 어떻게해야합니까? Retrofit 1.9를 사용하여이 작업을 수행 할 수 있지만 Retrofit 2.0을 도와주십시오. 어떤 도움이라도 대단히 감사하겠습니다. 또한 안드로이드 장치 화면에 표시하는 방법을 알려주십시오.Retrofit 2.0 및 DownloaManager를 사용하여 파일 다운로드

+0

가능하다고 확신합니다. 그러나 시도의 예가 없으면 어디로 잘못 가고 있는지 알려주지 못합니다. – Mike

+0

안녕하세요. 마이크, 실제로는 Retrofit 2.0 비동기 요청 구문을 가져올 수 없습니다. 정보에 대한 감사합니다 –

답변

0

세 가지 질문을하였습니다. 개조 1.9에

동기 :)

1 개조 2.0 사용하여 파일을 다운로드 : 개조 1.9의 통화 및 2.0 사이 만 차이가 날 그들에게 하나 하나에 대답 해보자

public interface GetAPI { 

@GET("/list") 
Model getModel(); 
} 

개조의 비동기

public interface GetAPI { 

@GET("/list") 
void getModel(Callback<Model> cb); 
} 

1.9 지금 개조 2.0 당신은 단순히 선언 할 수

개조 2.0
public interface GetAPI { 

@GET("/list") 
Call<Model> getModel(); 
} 

동기 호출

Call<Model> call = service.getModel(); 
Model model = call.execute(); 

비동기 호출 개조 2.0

Call<Model> call = service.getModel(); 
call.enqueue(new Callback<Model>() { 
@Override 
public void onResponse(Response<Model> response) { 
// Get result Model from response.body() 
} 

@Override 
public void onFailure(Throwable t) { 
} 
}); 

는이를 볼 수 있습니다 http://www.androidtutorialpoint.com/networking/retrofit-android-tutorial/

2) DownloadManager를 사용하여 다운로드 : 당신은 쉽게 볼 수 있습니다 튜토리얼 웹에 관한. 주로 두 단계가 있습니다 :

//하는

downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE); 
DownloadManager.Request request = new DownloadManager.Request(uri); 

// 인큐 다운로드 안드로이드 다운로드 관리자에 대한 요청을 만들고 referenceId

downloadReference = downloadManager.enqueue(request); 

에 저장이를 참조하십시오 http://www.androidtutorialpoint.com/networking/android-download-manager-tutorial-download-file-using-download-manager-internet/

3) 장치 화면에 표시합니다. 따라서 디스플레이는 이미지 또는 JSON 배열 일 수 있습니다. 그래서 여기에서 Image에 대해 말하고 있습니다. 다음 코드를 사용하십시오.

int width, height; 
     ImageView image = (ImageView) findViewById(R.id.imageViewId); 
     Bitmap bMap = BitmapFactory.decodeFile(getExternalFilesDir(null) + File.separator + "AndroidTutorialPoint.jpg"); 
     width = 2*bMap.getWidth(); 
     height = 6*bMap.getHeight(); 
     Bitmap bMap2 = Bitmap.createScaledBitmap(bMap, width, height, false); 
     image.setImageBitmap(bMap2); 

제 설명이 도움이되기를 바랍니다. 모두 제일 좋다.

+0

. 내가 이것을 시도하자. –

+0

작동 중입니다. 감사 :) –

관련 문제