当前位置:首页 » 安卓系统 » android多线程文件下载

android多线程文件下载

发布时间: 2023-03-04 22:59:11

A. 安卓开发时,下载文件时进度条线程阻塞问题(具体如下)

自己debug看一下,在循环最后sleep一下

B. android下载图片和视频到本地,求代码,求案例

下面是android多线程下载例子截图:

java">packagemm.shandong.com.testmultithreaddownload;
importandroid.app.ProgressDialog;
importandroid.content.Intent;
importandroid.net.Uri;
importandroid.os.Environment;
importandroid.os.Handler;
importandroid.os.Message;
importandroid.support.v7.app.AppCompatActivity;
importandroid.os.Bundle;
importandroid.text.TextUtils;
importandroid.view.View;
importandroid.widget.EditText;
importandroid.widget.Toast;
importjava.io.File;
importmm.shandong.com.testmultithreaddownload.thread.UpdateUIThread;
importmm.shandong.com.testmultithreaddownload.util.FileUtil;
{
ProgressDialogpb;
EditTexteditText;
Handlerhandler;
=null;
///文件路径
privateStringurl=
"http://gdown..com/data/wisegame/3c00add7144d3915/kugouyinle.apk";
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_multi_thread_down_load);
editText=(EditText)findViewById(R.id.editText);
initHandler();
}
publicvoidinitHandler(){
handler=newHandler(){
@Override
publicvoidhandleMessage(Messagemsg){
switch(msg.what){
caseFileUtil.startDownloadMeg:
pb.setMax(mUpdateUIThread.getFileSize());//开始
break;
caseFileUtil.updateDownloadMeg:
if(!mUpdateUIThread.isCompleted())//下载进度消息
{
pb.setProgress(mUpdateUIThread.getDownloadSize());
pb.setMessage("下载速度:"+
mUpdateUIThread.getDownloadSpeed()+"k/秒"+
"下载百分比"+mUpdateUIThread.getDownloadPercent()+"%");
}else{
pb.setMessage("下载完成");
}
break;
caseFileUtil.endDownloadMeg:
Toast.makeText(.this,
"下载完成,马上安装",Toast.LENGTH_SHORT).show();
/*apk安装界面跳转*/
Stringfilename=FileUtil.getFileName(url);
Stringstr="/myfile/"+filename;
StringfileName=Environment.getExternalStorageDirectory()+str;
Intentintent=newIntent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(newFile(fileName)),
"application/vnd.android.package-archive");
startActivity(intent);
break;
}
super.handleMessage(msg);
}
};
}
///开始下载软件
publicvoidstartDownLoad(Viewview){
if(TextUtils.isEmpty(editText.getText().toString())){
Toast.makeText(this,"你输入下载文件地址",Toast.LENGTH_SHORT).show();
return;
}else{
url=editText.getText().toString();
}
//启动线程初始化下载参数
mUpdateUIThread=newUpdateUIThread(handler,url,
FileUtil.setMkdir(this)+File.separator,FileUtil.getFileName(url));
pb=newProgressDialog(this);
pb.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pb.show();
mUpdateUIThread.start();
}
}

例子代码太长,只能给你一部分,如果想看完整例子代码,请去360手机助手下载安卓学习手册,点击里面的源码可以查看完成代码,方面快速,里面还有安卓的其它小例子,共108个。

C. 安卓IDM+和ADM哪个好用

是说的IDM下载管理器吗?很荣幸两款下载管理器都用过,简单说两款软件界面很相似,都可以被其他应用便捷调用,下载速度几无二致,唯一的一点就是,IDM+下载器可以下载m3u8视频文件(自动合并为ts格式),速度较浏览器缓存要快得多,其他的区别不大,当然也可以同时安装试用一下,以找到更合适的。附图:应用界面。

D. android后台多文件下载怎样实现

可以创建一个服务,然后开启多线程下载。不过不推荐多线程,建议使用单线程排队下载。

E. Android 开发.下载多张图片保存到本地,大概9M,时间比较3~5分钟。时间太长了,用户会等太久,求解决方法

一张图片的URL想要对应多张图片基本实现不了,URL是唯一的存在,如果1个URL存在多个内容就出乱子了,除非这个URL不是JPG等结尾,而是HTML等页面格式结尾,可以把多张图片放在一个页面当中。
可以有以下几种方法:
1.将多张图片处理成长条的1张图片,保存时降低精度以减小图片大小,下载时间可缩短并节约用户流量。
2.将图片打包成一个zip包-。-手机可能无法查看

其他方法想不到了。

热点内容
安卓大屏如何查看分辨率 发布:2025-05-10 05:11:21 浏览:466
酷派手机密码是多少 发布:2025-05-10 05:04:17 浏览:973
editpluspython 发布:2025-05-10 04:56:53 浏览:739
linux串口驱动开发 发布:2025-05-10 04:55:37 浏览:596
游戏版微信服务器维护中什么意思 发布:2025-05-10 04:54:42 浏览:817
sqlserver连接测试 发布:2025-05-10 04:49:43 浏览:695
中国电信的电视维护密码是多少 发布:2025-05-10 04:36:52 浏览:589
苹果编译器叫什么名字 发布:2025-05-10 04:36:44 浏览:544
怎么给电话配置ip 发布:2025-05-10 04:31:40 浏览:359
java访问网站 发布:2025-05-10 04:31:02 浏览:189