android线程间通信有哪些方式(android进程间通信方式讲解)

1,通过Handler机制.主线程中定义Handler,子线程发消息,通知Handler完成UI更新,Handler对象必须定义在主线程中,如果是多个类直接互相调用,就不是很方便,需要传递content对象或通过接口调用。 privatevoidone(){ handler=newHandler(){ @Override publicvoidhandleMessage(Messagemsg){ s…

1,通过Handler机制.主线程中定义Handler,子线程发消息,通知Handler完成UI更新,Handler对象必须定义在主线程中,如果是多个类直接互相调用,就不是很方便,需要传递content对象或通过接口调用。

private void one() {
        handler=new Handler(){
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                switch (msg.what){
                    case 123:
                        tv.setText(\"\"+msg.obj);
                        break;
                }
            }
        };
        new Thread(){
            @Override
            public void run() {
                super.run();
                for (int i=0;i<3;i++){
                    try {
                        sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                Message message=new Message();
                message.what=123;
                message.obj=\"通过Handler机制\";
                handler.sendMessage(message);
            }
        }.run();
    }

2,runOnUiThread方法

用Activity对象的runOnUiThread方法更新,在子线程中通过runOnUiThread()方法更新UI,强烈推荐使用。

private void two(){
        new Thread(){
            @Override
            public void run() {
                super.run();
                for (int i=0;i<3;i++){
                    try {
                        sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        tv.setText(\"通过runOnUiThread方法\");
                    }
                });
            }
        }.run();
    }

3,View.post(Runnable r)

这种方法更简单,但需要传递要更新的View过去,推荐使用

private void three(){
        new Thread(){
            @Override
            public void run() {
                super.run();
                for (int i=0;i<3;i++){
                    try {
                        sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                tv.post(new Runnable() {
                    @Override
                    public void run() {
                        tv.setText(\"通过View.post(Runnable r) 方法\");
                    }
                });
            }
        }.run();
    }

4,AsyncTask

private void four(){
        new MyAsyncTask().execute(\"通过AsyncTask方法\");
    }
private class MyAsyncTask extends AsyncTask{
        @Override
        protected Object doInBackground(Object[] objects) {
            for (int i=0;i<3;i++){
                try {
                    sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            return objects[0].toString();
        }
        @Override
        protected void onPostExecute(Object o) {
            super.onPostExecute(o);
            tv.setText(o.toString());
        }
    }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年5月13日 下午4:19
下一篇 2022年5月13日 下午4:20

相关推荐

  • 梦三国推广码怎么激活(梦三国激活码使用方法)

    《梦三国》特权礼包已经上线,具体怎么领取呢?下面就来告诉大家《梦三国》特权礼包的领取方法。 《梦三国》特权礼包内容:1000竞技币,白金罐*5,白金锤*5,曹彰1天体验卡*1,张辽1天体验卡*1,快来关注口袋巴士官方微信免费领取了~大家可以自动领哦!先到先得,数量有限。 口袋巴士官方微信二维码(扫描关注): 领取方法一:关注微信,打开口袋巴士微信对话框,点击右下角>>“礼包领取”进入列…

    2022年10月25日
    500
  • 迪拜旅游团七日游价格,分享一个超省钱攻略

    【阿布扎比】 在阿拉伯联合酋长国的7个酋长国中,阿布扎比是最大的一个,面积占国土面积的80%以上。阿布扎比拥有一切作为一个首都的魅力和激情,尽管阿布扎比大部分是沙漠,但首府阿布扎比市却是一个绿意浓浓的天堂,宽阔的街道、美丽的公园和视力所及的远方尽是绿树。 【谢赫扎伊德清真寺】 整个清真寺耗资五十五亿美元,内部以数以万计的宝石贝壳镶嵌,极具欣赏价值的是每盏80万美金的施华洛世奇水晶吊灯,还有全世界最…

    2022年10月2日
    380
  • 门户网站推广方案(最常见的营销推广方法)

    1、搜索引擎的优化 这个搜索引擎的优化也被称为SEO的优化,它是所有站长必须理解的网站的普及方法,在中国80%以上的网站依赖百度产生,依赖SEO的优化,网站离开SEO就分文不值得了。 2、内容的销售 我相信大多数人不知道什么是内容营销。国内很少有人提到内容营销,海外流行内容营销,那么什么是内容营销呢? 内容营销是利用各媒体平台宣传传播本公司网站的内容,提高本公司网站的可信度,达到营销的目的。 3、…

    2022年7月20日
    560
  • 网站推广的方式(最好的免费推广平台)

    企业拥有了自己的网站之后,下一步就是推广。那么,该怎样推广呢?今天小羊分享几个实用的推广方法,另外需要强调的是,不论如何进行网站推广,首要条件是内容,内容是最基本也是最重要的,否则不论再怎么努力推广,也是事倍功半哦。 一、网站推广的前期准备 ①资料的收集与统计 ②网络推广的分析与诊断 ③针对性提出有效的解决方案和实施计划 ④网站推广效果的跟踪和评估方法 ⑤网站推广的策略与推广效果的分析建议 ⑥针对…

    2022年7月20日
    540
  • 微信聊天记录如何找回,微信恢复聊天记录方法

    微信是目前国内注册用户最多的软件,因为这不单是一款聊天软件,如今在微信我们可以玩游戏、办公分享、出门打的、交易付款等,几乎涵盖了大家每天的衣食住行。不过没有一款软件是不会出现问题的,有时候是系统问题、有时候是人为操作问题,就不必如说误删聊天记录,许多人就不知道该如何找回来。 人是一种易冲动的动物,往往可能因为一怒之下的操作删掉一些重要的东西,它可能是情人之间的照片、同事之间的工作信息又或者和家人的…

    2022年6月22日
    720
  • 微信营销教程,带你了解微信营销的七种模式

    做营销没那么复杂,就是【把你的产品,通过产品目标用户所在的渠道,用目标用户喜欢的内容承载方式,告诉给需要这个产品的人】 好文案需要足够了解自己的产品,同时足够了解用户需求 1.让谁知道 2.转化路径 3.好内容/文案 4.AB测试 5.数据监测 6.广告投放 7.数据回收 8.二次传播/调整内容 1文案能力: 文案的具体学习部分,分为:标题怎么写、文章内容用什么调性和结构、如何植入广告,微博、微信…

    2022年6月18日
    600
  • 如何申请创业贷款,创业贷款申请条件介绍

    如何申请个人创业贷款?个人贷款是指银行或其他金融机构向符合贷款条件的自然人发放的用于个人消费、生产经营等用途的本、外币贷款。那么,如何申请个人创业贷款? 申请条件: 1、年满18周岁,具有合法有效身份证明和贷款行所在地合法居住证明,有固定的住所或营业场所; 2、持有工商行政管理机关核发的营业执照及相关行业的经营许可证,从事正当的生产经营活动,有稳定的收入和还本付息的能力; 3、贷款人投资项目必须已…

    2022年7月13日
    540
  • 2020设计师显示器推荐(平面设计显示器品牌排行榜)

    由于工作性质及客户资源,笔者经常接触建筑设计师,而这些建筑设计师当中,有相当一部分是游戏玩家,笔者经常为设计师们提供电脑,主机的配置,因人而异、因预算而异,但是显示器,笔者一直推荐戴尔U系列的显示器,23.8这个尺寸,从以前的U2312H到现在的U2419H,笔者亲自卖过几百台,没有一个设计师不满意的,且返修率几乎为零。 就在上周五,苏州某设计师事务所,又配了两套电脑,老板只跟我讨论主机配置及价格…

    2022年9月6日
    730
  • wifi密码忘记了手机怎么查看,手机查看wifi密码三种方法介绍

    一般情况下,不管是公司还是家里的wifi密码,自己的手机都是直接保存有的,打开wifi,就会自动连接上,无需手动输入密码。因此,时间久了,同事问起,或者家里有朋友亲人来做客,连自己都忘记wifi密码是啥,这时候咋办?总不能每次都重置密码对吧。教跟大家说说,手机如何查看wifi密码。分享密码二维码查看 此法只适用于小米手机或者MIUI用户,若不是的可以直接跳过往下看了。当然,学了以后,在小米手机的朋…

    2022年8月2日
    540
  • 长尾关键词是什么意思,其形式及挖掘方法介绍

    对于SEO网站优化人员来说,做网站优化就是为了做排名,但是,现在出现了一个问题,哪就是我的网站排名在首页第一位,但是,流量却很少。而有些人的网站排名不怎么样,但是,流量却很大。这到底是为什么呢?答案就是人家的长尾关键词比较多,那什么是长尾关键词?为什么要做长尾关键词? 什么是长尾关键词? 长尾关键词(Long TailKeyword)是指网站上非目标关键词但也可以带来搜索流量的关键词。 长尾关键词…

    2022年7月18日
    530

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信