package com.example.retrofit.activity; import android.os.Bundle; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import com.example.retrofit.R; import com.example.retrofit.activity.adapter.DownAdapter; import com.jude.easyrecyclerview.EasyRecyclerView; import com.wzgiceman.rxretrofitlibrary.retrofit_rx.downlaod.DownInfo; import com.wzgiceman.rxretrofitlibrary.retrofit_rx.downlaod.DownState; import com.wzgiceman.rxretrofitlibrary.retrofit_rx.utils.DbDwonUtil; import java.io.File; import java.util.List; /** * 多任務下載 */ public class DownLaodActivity extends AppCompatActivity { List<DownInfo> listData; DbDwonUtil dbUtil; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_down_laod); initResource(); initWidget(); } /*数据*/ private void initResource(){ dbUtil= DbDwonUtil.getInstance(); listData=dbUtil.queryDownAll(); /*第一次模拟服务器返回数据掺入到数据库中*/ if(listData.isEmpty()){ String[] downUrl=new String[]{"http://www.izaodao.com/app/izaodao_app.apk", "http://download.fir.im/v2/app/install/572eec6fe75e2d7a05000008?download_token=572bcb03dad2eed7c758670fd23b5ac4"}; for (int i = 0; i < downUrl.length; i++) { File outputFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "test"+i + ".apk"); DownInfo apkApi=new DownInfo(downUrl[i]); apkApi.setId(i); apkApi.setState(DownState.START); apkApi.setSavePath(outputFile.getAbsolutePath()); dbUtil.save(apkApi); } listData=dbUtil.queryDownAll(); } } /*加载控件*/ private void initWidget(){ EasyRecyclerView recyclerView=(EasyRecyclerView)findViewById(R.id.rv); DownAdapter adapter=new DownAdapter(this); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setAdapter(adapter); adapter.addAll(listData); } @Override protected void onDestroy() { super.onDestroy(); /*记录退出时下载任务的状态-复原用*/ for (DownInfo downInfo : listData) { dbUtil.update(downInfo); } } }