2.导入权限


3.布局文件





4.主要代码

packagecom.five.fashion.duandianxuchuan;

importandroid.os.Bundle;
importandroid.os.Environment;
importandroid.os.Handler;
importandroid.os.Message;
importandroid.os.SystemClock;
importandroid.support.annotation.Nullable;
importandroid.support.v7.app.AppCompatActivity;
importandroid.text.TextUtils;
importandroid.util.Log;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.ProgressBar;
importandroid.widget.TextView;

importcom.loopj.android.http.HttpGet;

importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.InputStream;
importjava.io.RandomAccessFile;

importcz.msebera.android.httpclient.Header;
importcz.msebera.android.httpclient.HttpResponse;
importcz.msebera.android.httpclient.client.HttpClient;
importcz.msebera.android.httpclient.client.methods.HttpHead;
importcz.msebera.android.httpclient.impl.client.DefaultHttpClient;


publicclassMainActivityextendsAppCompatActivity{
protectedstaticfinalStringTAG="OtherActivity";
//下载线程的数量
privatefinalstaticintthreadsize=3;
protectedstaticfinalintSET_MAX=0;
publicstaticfinalintUPDATE_VIEW=1;
privateProgressBarpb;
privateButtonbt_download;
privateButtonbt_pause;
privateTextViewtv_info;
//显示进度和更新进度
privateHandlermHandler=newHandler(){
publicvoidhandleMessage(android.os.Messagemsg){
switch(msg.what){
caseSET_MAX://设置进度条的最大值
intfilelength=msg.arg1;
pb.setMax(filelength);
break;
caseUPDATE_VIEW://更新进度条和下载的比率
intlen=msg.arg1;//新下载的长度
pb.setProgress(pb.getProgress()+len);//设置进度条的刻度

intmax=pb.getMax();//获取进度的最大值
intprogress=pb.getProgress();//获取已经下载的数据量
//下载:30总:100
intresult=(progress*100)/max;

tv_info.setText("下载:"+result+"%");

break;

default:
break;
}
};
};
Stringuri="http://c.hiphotos.baidu.com/image/pic/item/b90e7bec54e736d1e51217c292504fc2d46269f3.jpg";
@Override
protectedvoidonCreate(@NullableBundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找到控件
pb=(ProgressBar)findViewById(R.id.pb);
tv_info=(TextView)findViewById(R.id.tv_info);
bt_download=(Button)findViewById(R.id.bt_download);
bt_pause=(Button)findViewById(R.id.bt_pause);
//数据的回显
//确定下载的文件
Stringname=getFileName(uri);
Filefile=newFile(Environment.getExternalStorageDirectory(),name);
if(file.exists()){//文件存在回显
//获取文件的大小
intfilelength=(int)file.length();
pb.setMax(filelength);
try{
//统计原来所有的下载量
intcount=0;
//读取下载记录文件
for(intthreadid=0;threadid

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。

热门推荐

免责声明:网站资源来源于网络,如有侵权,请及时联系删除。

Copyright © 2024 好资源导航网. All Rights Reserved.

蜀ICP备2021004611号-4 网站地图