如何在Android中使用Retrofit 2.0和DownloadManager從URL下載文件?我可以使用Retrofit 1.9來做到這一點,但請幫助我進行Retrofit 2.0。任何幫助將不勝感激。另外讓我知道如何在Android設備屏幕上顯示它。使用Retrofit 2.0和DownloaManager下載文件
1
A
回答
0
您有三個問題。讓我試着回答這些問題一個接一個:
1)使用改造2.0下載文件: 只有在改造1.9調用和2.0之間的區別是:
同步在改造1.9:
public interface GetAPI {
@GET("/list")
Model getModel();
}
異步在改造1.9
public interface GetAPI {
@GET("/list")
void getModel(Callback<Model> cb);
}
現在改造2.0,你可以簡單地聲明:
在改造2.0public 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)下載使用下載管理器:您可以很容易地看到任何網上教程關於此。主要有兩個步驟:
//創建Android的下載管理器請求
downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE);
DownloadManager.Request request = new DownloadManager.Request(uri);
//排隊下載並保存到referenceId
downloadReference = downloadManager.enqueue(request);
3)顯示它在設備屏幕上。所以顯示可以是圖像或JSON數組。所以我在這裏告訴你關於圖像。使用下面的代碼:
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
它正在工作。謝謝 :) –
相關問題
- 1. 使用Retrofit從URL下載HTML文件
- 2. 如何使用AFNetworking 2.0下載文件
- 3. 使用AFNetworking 2.0下載PDF文件
- 4. Retrofit 2.0 non-beta,使用GsonConverterFactory
- 5. 在Android中使用Retrofit 2.0
- 6. Box API 2.0下載文件
- 7. 使用Retrofit返回空文件下載圖像
- 8. 使用Retrofit從Url下載視頻
- 9. Retrofit 2.0 beta1
- 10. 使用json進行GET查詢 - Retrofit 2.0
- 11. 使用Retrofit:2.0與Okhttp(攔截器)
- 12. 下載Dropbox文件的URL OAuth 2.0
- 13. 在Windows 7上使用PowerShell 2.0下載文件
- 14. 如何使用Play Framework 2.0下載文件
- 15. 如何使用JavaFX 2.0處理文件下載WebEngine
- 16. 如何使用Retrofit 2.0獲取原始響應和請求
- 17. 使用jQuery和iframe來下載文件
- 18. 使用WebClient登錄和下載文件
- 19. 使用PowerShell和Internet Explorer下載文件
- 20. 使用ajax和webservice下載文件
- 21. 使用Watir Webdriver和phantomjs下載文件
- 22. 使用webapi和angularjs下載excel文件
- 23. 使用php壓縮和下載文件
- 24. 使用PaperClip上傳和下載文件
- 25. 使用PHP和cURL下載文件
- 26. 使用PHP下載MP3和MP4文件
- 27. 使用Struts2和ExtJS下載文件
- 28. 使用PHP創建和下載文件
- 29. 使用python beautifulsoup和硒下載文件
- 30. 使用Oracle和PHP下載BLOB文件
我相信這是可能的。然而,沒有你的嘗試的例子,很難告訴你你錯在哪裏 – Mike
嗨邁克,其實我無法得到Retrofit 2.0異步請求的語法。 –