问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-07-23 10:28

我来回答

1个回答

热心网友 时间:2023-11-30 11:13

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

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

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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
笔记本wifi能够联网,但是台式机插网线网络很差 为什么这个wifi就针对一台电脑卡。 电脑连wifi看电视很卡台式电脑连接无线wifi特别卡 为什么本身台式网速特别快,可是用笔记本wifi的网速就特别慢呢... wifi很快电脑很慢是怎么回事电脑和手机连接同一个WiFi手机网速快但是... ...6个梨,要把这些梨全部放在盘子里,至少需要多少个盘子? 看图列算式,一共有多少个梨? 列式:__ 哪些原因会导致长白头发 头上白发特别多是体内缺什么呢还是病还是别的原因 ACL访问控制列表应用 从火车站去动物园坐哪路车?大概多久到?坐地铁快吗?从动物园去西单坐哪路车?大概多久到? 北京站西指的是不是北京西站啊那要做103电车只有在北京西站才能做咯 从北京站到北海公园怎么走 北京动物园 东鼎往那个方向走做103电车 北京电车103在火车站停吗在线等待 北京103无轨电车起点站及经过各个站站名 发面面发起来黏住锅怎么办? 怎么转发微信红包 买50ETF,好吗?大盘长一百点,它涨多少? 2015年工银上证央企50ETF还会继续给力吗? 贫嘴张大民大雪在哪一集死的 我印象中梁冠华去世了,大家有没有这个记忆? 北京哪里可以买到无花果 哆啦A梦的电影动画有那几部 日式小学生书包为什么大翻盖 重庆安柏尔医疗美容有限公司怎么样? 重庆唯专医学美容地址在哪里? 日本相扑的人是不是天天要吃肉? 相扑火锅和相扑运动有关吗? 相扑选手如何减肥 山东一化工厂爆燃火光冲天,导致起火的原因是什么? 倒立也是瑜伽的一门工课吗? 为什么做不了瑜伽倒立 齐鲁石化塑料厂爆炸事件的最新情况如何? 齐鲁石化塑料厂爆炸的原因是什么? 请高手帮忙解梦! OPPOR11t64G版本支不支持双卡双待? 1T的混合硬盘加64G的固态硬盘做系统盘,混合硬盘加固态硬盘一起用兼容吗? 1T硬盘用什么分区 64位WIN安装盘(非Ghost版本)带分区工具吗?可以用吗? 装win7 64位1T硬盘这样分区好吗? 我1t硬盘 win7 64位。c盘分60g够吗。系统快占20g了。要扩大吗? 我买了笔记本电脑,硬盘1T,想买个64G的固态硬盘,使开机快点,怎么装? 厨房装修有哪些注意事项?要注意什么问题? 生病的小孩英语怎么说 生病的孩子们的英语单词 生病的小孩英语怎么说用sick还是ill说说原因 我们自愿帮助那些生病的孩子. 英语翻译 用英语说并且和生病的儿童一起玩 看望生病的小孩英文词组 写一篇关于去医院看望生病的孩子的英语作文!!!谢啦,感谢至极!急啊!!!!!!!!!!