使用Handler下载数据

handler发送和接收message的各种方式 handler发送和接收message的各种方式 (1)Handler.SendEmptyMessage(what); (2)Handler.obtainMessage(int what, int arg1, int arg2, Object obj).sendYToTarget(); (3)Message.obtain(handler, MESSAGE_MSG, 0, 0, msg).sendToTarget(); (4)Message message = Message.obtain(); message.what = PROGRESS_MSG; message.arg1 = progress; handler.sendMessage(message); (5)handler.post(Runnable callback) 立即下载

思路:
1.在子线程中处理耗时操作,再通过Handler对象发送消息。
2 通过Handler的handleMessage方法接收其他线程发送过来的数据

代码展示:

public class Fragment_A extends Fragment {
    private Handler handler ;
    private String urlString = "http://www.51kan.com.cn/lolservice/newlolitemsbytype.jsp?type=defense&start=0";
    private List<LOL> lolList;
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
      View view = inflater.inflate(R.layout.fragment_a_layout,container,false);     
        lolList = new ArrayList<>();

        initHandler();//2处理其他线程发送过来的数据
        startHandler(urlString,0);//1处理耗时操作,获取数据

        return view;
    }



    //1.在子线程中处理耗时操作,再通过Handler对象发送消息。
    private void startHandler(final String urlString, final int what) {
       new Thread(new Runnable() {
           @Override
           public void run() {
               //下载,解析
              String jsonString =  HttpUtil.download(urlString);
               List<LOL> lolList = Jsonparser.paese(jsonString);
               Message msg = Message.obtain();
               msg.what=what;
               msg.obj=lolList;
               //使用handler发动消息,handler对象既是消息的发送者,也是消息的处理者。
               handler.sendMessage(msg);

           }
       }).start();

    }
//2 通过Handler的handleMessage方法接收其他线程发送过来的数据
    private void initHandler() {
        handler = new Handler(){
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                if(msg.what==0){

                  List<LOL> tiemList = (List<LOL>) msg.obj;
                  lolList.addAll(tiemList);

                }

            }
        };
    }
}
ImageHandler.py 仅有1个代码文件, 将图片拼接流程拆分成了多个函数,解耦合,可作为视频拼接的基础 包含了去噪的算法,和渐入渐入渐出加权融合的效果,均为可选 if __name__=='__main__': path1='05_L.jpg' path2='05_R.jpg' save='05_M.jpg' spliting_img_path(path1,path2,True,save) 修改路径即可 请导入相关包 立即下载

相关推荐

Handler机制

分析下Handler的工作原理,争取让我们能对Handler的理解更深刻,透彻。能真正理解Handler的作用、Handler的工作原理。

通过Handler进行文件下载(出自菜鸟窝)

public class FileDownloadActivity extends AppCompatActivity { public String url="http://112.124.22.238:8081/course_api/css/net_music.apk"; public String fileName="net_music.apk"; @BindVi...

y1361408906的博客 1275

Handler的使用

Handler用来接收子线程发送的消息,并根据此数据来更新主程序中的UI;当主线程中的操作比较耗时,就需要把耗时的操作放到子线程中。在Android中,如果主线程在5s内没有响应的话,就会弹“强制关闭”的提示框;

HttpHandler实现文件下载

<br /> <br />如果HttpHandler输出的是html、txt、jpeg等类型的信息,那么浏览器会直接显示,如<br />果希望弹出保存对话框,则需要添加Header:string encodeFileName =<br />HttpUtility.UrlEncode("过滤词.txt"); Response.AddHeader("Content-Disposition",<br />string.Format("attachment;filename=/"{0}/"", encodeFile

霸天虎的专栏 670

RK3506开发板实战:5分钟搞定开源鸿蒙OpenHarmony5.1+星闪功能配置

本文提供了一份基于RK3506开发板快速配置开源鸿蒙OpenHarmony 5.1并启用星闪功能的实战指南。文章详细介绍了从开发环境搭建、系统镜像编译烧录,到星闪驱动加载验证、应用开发及性能调优的全流程,帮助开发者高效上手,将新一代短距无线通信技术应用于物联网项目。

time3的博客 654

tewa-707e光猫超级密码获取方法

这款光猫很魔性,没有WIFI,没有USB接口,没有Telnet,试了很多方法去获取超级密码都不行。解密时可能会报错,可能是文件后面部分不晓得是咋拼接过来的,用AES解密时分组数据有问题。3、这个文件是用AES加密了的,直接打开是乱码,所以得用AES解密,key为16个字节的 x00。打开解出来的文件,然后搜索 telecomadmin,就可以发现超级密码了。参考资料里面的光猫不是同一款,但解密的方法基本相同的。

shaowl111的专栏 1万+

Python开发系列课程(18) - 网络编程入门

网络编程入门 计算机网络基础 计算机网络是独立自主的计算机互联而成的系统的总称,组建计算机网络最主要的目的是实现多台计算机之间的通信和资源共享。今天计算机网络中的设备和计算机网络的用户已经多得不可计数,而计算机网络也可以称得上是一个“复杂巨系统”,对于这样的系统,我们不可能用一两篇文章把它讲清楚,有兴趣的读者可以自行阅读Andrew S.Tanenbaum老师的经典之作《计算机网络》或Ku...

骆昊的技术专栏 3415

从KVM虚拟化到Openstack云化架构综述

目录 摘要 OpenStack的虚拟化技术 OpenStack架构介绍 Nova Swift KeyStone Neutron Glance Cinder Ceilometer Heat 摘要 这两年的工作中,接触到公有云和私有云的项目还不少。起初对于Openstack的了解,仅停留在其几大组件的交互上,如Nova、Neutron、Glance等,以及对各大云厂商功能点上...

liyunpeng229的博客 2051

C# Handler 下载文件

假设前台服务器和应用服务器分开,前台服务器有N台负责展现,应用服务器部署文件生成服务,应用服务器火墙策略未对所有用户开放,如果要实现前台下载应用服务器生成功能,一种方法可以通过同步服务将应用服务器生成的文件同步分发到各个前台服务器,另一种方法是前台服务器将下载链接请求统一转到一个Hander,由Handler负责向应用服务器请求文件流并返回到前台页面。 注意:应用服务器文件生成目录也发布一个网站

helloworld的专栏 2581

ORB-SLAM3算法2之EuRoc开源数据集运行ORB-SLAM3生成轨迹并用evo工具评估轨迹

ORB-SLAM3算法1 已成功编译安装ORB-SLAM3到本地,本篇目的是用EuRoc开源数据来运行ORB-SLAM3,并生成轨迹,最后用evo评估工具来评估ORB-SLAM3生成的轨迹和真值轨迹。

重点记录机器人和自动驾驶相关领域的技术,尤其是计算机视觉,视觉SLAM等,不仅有前言文献或必备算法的学习,也会有实际应用的点滴经验 3761

【WorkBuddy专栏27】WorkBuddy 和 CodeBuddy 到底什么关系——一篇文章终结所有混淆

WorkBuddy 和 CodeBuddy 到底什么关系——一篇文章终结所有混淆

AI人人懂 2604

Android Handler使用

Android Handler使用 一、什么是Handler?Handler有什么用?           Android中Handler是一个十分重要的东西,很多时候都需要用到Handler。为什么要用Handler呢?我们知道Android更新UIt的操作必须放到主线程中来进行,那么问题来了,假如你有现在需要下载一张图片并显示到Activity中,假如这张图片很大,需要下载很长时间。如果你

Groople的专栏 642

YOLOv11知识蒸馏实战:让小模型拥有大模型90%精度,速度提升3倍的终极教程

在self.alpha = alpha # 蒸馏损失权重self.temperature = temperature # 温度系数,控制分布平滑度# 输出分布蒸馏(KL散度损失)# 中间特征蒸馏(MSE损失,对齐中间层特征)# 总蒸馏损失知识蒸馏是YOLOv11在“小模型高性能部署”场景的“破局之法”——它让小模型能“站在大模型的肩膀上”,兼具速度与精度。从损失函数定义到多阶段训练,再到实战落地,本教程已为你铺就了一条清晰的路径。

m0_64661770的博客 800

Handler vs AsyncTask

<br />I'm confused as to when one would choose AsyncTask over a Handler. Say I have some code I want to run every n seconds which will update the UI. Why would I choose one over the other? <br /> <br /> <br />MO, AsyncTask was written to provide a co

935

视觉Transformer实战 | Vision Transformer(ViT)详解与实现

在计算机视觉领域,卷积神经网络 (CNN) 长期以来一直是处理图像任务的主流架构。然而,随着 Transformer 在自然语言处理领域的巨大成功,研究人员开始探索将这种基于自注意力机制的架构应用于视觉任务。Vision Transformer (ViT) 是这一探索的重要里程碑,它首次证明了纯 Transformer 架构在图像分类任务上可以超越最先进的 CNN 模型。本文将详细介绍 ViT 的技术原理,并使用 PyTorch 从零开始构建 ViT 模型用于图像分类任务。

盼小辉丶的博客 4万+

Android PMS——概述(一)

PMS(Package Manager Service)是 Android 操作系统的一个重要组件,它负责管理应用程序的包信息以及与应用程序的安装、卸载、权限控制等相关功能,确保应用程序的安全性和稳定性。 Android PMS 负责维护一个应用程序包的清单信息,该清单是一个 XML 文件,包含应用程序的各种元数据,例如应用程序的包名、版本号、权限要求、组件信息等。PMS通过访问该清单文件来获取应用程序的信息。 此外,Android PMS 还负责应用程序的安装和卸载。在安装应用

小旭的专栏 1664

【Android】Handler使用入门

本讲内容:Handler使用入门 当用户点击一个按钮时如果执行的是一个常耗时操作的话,处理不好会导致系统假死,用户体验很差,而Android则更进一步,如果任意一个Acitivity没有响应5秒钟以上就会被强制关闭,因此我们需要另外起动一个线程来处理长耗时操作,而主线程则不受其影响,在耗时操作完结发送消息给主线程,主线程再做相应处理。那么线程之间的消息传递和异步处理用的就是Handler。 下...

weixin_30667649的博客 112

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

android多线程asyncTask与Handler用法

一、Handler Handler是一个用作线程之间相互通信的类。 Handler一共由四个部分组成 handler,Message,MessageQueue,Looper。其中: handler是用来发送消息的,message可以携带少量信息,MessageQueue是一个消息队列,而Looper是一个管理消息队列的类。当一条message通过handler的sendmessage方法被发送以后,这条消息就会加入到MessageQueue队列中,等待被发送到handler对象的回调方法handler

zzf0521的博客 420

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Handler发送机制

Handler简单使用: 1. Handler:消息处理者 handleMessage(Message):在主线程中,构造Handler对象时,重写此方法  sendEmptyMessage(int what):用在子线程中,发送空消息 sendMessage(Message):用在工作线程中,立即发送消息 2. Message:消息 arg1:用来存放整型数据 arg2:用来存放整

lxh_bc的博客 752

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Android基于IIS的APK下载(四)数据下载

在《Android基于IIS的APK下载(三)用JSON传输更新数据》一文中已经从服务器中拿到了更新数据,并且呈现到了UI中,结合前面的文章及效果图(参见下图),可以看到UI中的更新列表一行一行的呈现,而每一行的末尾有一个行为按钮,对应着不同的行为,这个行为要如何实现呢? 我们再看一下UpdateItemsAdapter中getView的部分代码 updateItem.SetBehavior(

学而时习之 2034

实现UI界面进度条与下载数据同步的方法

在进行Android应用程序的开发时,相信各位都应该碰到过“如何实现UI界面进度条与下载数据同步”的问题。这个问题非常常见,其实方法也很简单        方法很简单,我把它大致分为四个部分:        1、首先,声明一个int型的全局变量,叫做DownloadCount,每次更新UI时,用来传送给Handler以更新进度条;        2、接着,创建一个下载Thread,里面放

将臣的博客 1854

【移动开发】Android中异步加载数据(一)Handler + Thread

在我们开发当中很多时候都会遇到:从网络上获取数据的操作或大量的IO数据操作时,会耗费很长时间,为了使用户的体验效果更好,现在大多数开发者都会使用异步的方式去处理这些的操作,异步的方式有好多种,在此我汇总了以下两种: 1.Handler + Thread的方式 2.AsyncTask异步更新UI界面 这两种方式各自有各自的优缺点,这里先...

weixin_34101784的博客 182

Android 异步下载,Android异步下载

[android]代码库//前台ui线程在显示ProgressDialog,//后台线程在下载数据,数据下载完毕,关闭进度框@Overridepublic void onClick (View view) {switch (view.getId() ) {case R.id.btnFirst:dialog = ProgressDialog.show (this, "","下载数据,请稍等 …", ...

weixin_39628343的博客 193

handler回调主线程_增强型的Handler(线程之间的通信,回调)

我们知道,在做网络异步请求的时候,有时候需要在收到数据时进行一些界面的更新,为了更简单地与UI主线程交互,我稍微封装了下。import java.util.HashMap;import java.util.Map;import android.os.Handler;import android.os.Message;public class HandlerHelper {public static...

weixin_31542739的博客 200

EventBus事件总线——优雅地替换Handler

http://bbs.itcast.cn/thread-83609-1-1.html  什么是EventBus EventBus是Android下高效的发布/订阅事件总线机制。作用是可以代替传统的Intent,Handler,Broadcast或接口函数在Fragment,Activity,Service,线程之间传递数据,执行方法。特点是代码简洁,是一种发布订阅设计模

Levin的专栏 806

Handler实现对一个网页的异步加载,并将过程封装

思路:1.利用异步访问http://www.tngou.net/api/top/show?id=13122,建立连接,下载字符串,返回给主线程. 2.利用gson对字符串解析,封装成为实体对象. 3.利用回调函数将实体对象的内容填充到控件中.实现:创建一个类DownHTMLRunnable,对获取数据的过程进行封装,并且传递一个Callback以便对获取的数据进行操作,为了通用化,接口内部的参数

fushuangdage的博客 370
上一篇: 使用Handler中postDelayed方法实现广告页面轮播效果
下一篇: 使用AsyncTask异步任务下载数据
Allen-华
博客等级 码龄11年 10粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值