传递字符串以使用Retrofit从URL下载视频

时间:2017-02-28 12:24:58

标签: android url download retrofit

如上所示,我在RetrofitInterface课程中以静态方式提供了视频链接,如下所示:

@GET("/videos/toystory.mp4")

但是,如果我必须传递视频链接dynamically,例如此字符串包含链接:

String strVidLink = ".....Vid Link.....";

使用Retrofit lib从URL下载视频,如下所示:

RetrofitInterface.class:

public interface RetrofitInterface {

    @GET("/videos/toystory.mp4")
    @Streaming
    Call<ResponseBody> downloadFile();
}

DownloadService.java:

private void initDownload(){

        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("http://www.html5videoplayer.net")
                .build();

        RetrofitInterface retrofitInterface = retrofit.create(RetrofitInterface.class);

        Call<ResponseBody> request = retrofitInterface.downloadFile();
        try {

            downloadFile(request.execute().body());

        } catch (IOException e) {

            e.printStackTrace();
            Toast.makeText(getApplicationContext(),e.getMessage(),Toast.LENGTH_SHORT).show();

        }
    }

1 个答案:

答案 0 :(得分:0)

我认为你必须动态传递链接,如下所示。

public interface RetrofitInterface {

    @GET("/videos/{url}")
    @Streaming
    Call<ResponseBody> downloadFile(@Path("url") String url);
}

或拨打您的界面,如下所示。

Call<ResponseBody> request = retrofitInterface.downloadFile(/*Your Video url*/);