下载的接口
public interface RetrofitService {
@GET("https://www.wandoujia.com/apps/604363/download/dot?ch=detail_normal_dl")
Call<ResponseBody> breadPointRetrofit(@Header("range") String range);
@HEAD("https://www.wandoujia.com/apps/604363/download/dot?ch=detail_normal_dl")
Call<Void> getHeaderMessage();
}
服务下载
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
//先封装文件
File directory = Environment.getExternalStorageDirectory();
final File file = new File(directory, "1221.apk");
//请求头信息 创建retrofit对象
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://www.wandoujia.com/")
.build();
//请求头信息 创建服务器对象 注解封装的接口对象
RetrofitService service = retrofit.create(RetrofitService.class);
//请求头信息 调用接口方法 获取call对象
Call<Void> call = service.getHeaderMessage();
//请求头信息 call执行异步任务 获取结果
call.enqueue(new Callback<Void>() {
@Override
public void onResponse(Call<Void> call, Response<Void> response) {
Log.i("tag", "onResponse: ");
//响应对象获取请求的头信息对象
Headers headers = response.headers();
//利用请固定头字段 获取响应回来的文件大小
String s = headers.get("content-length");
//将文件大小转成long类型
final long contentLength = Long.parseLong(s);