分享

Android开发主线程向子线程传值

 黄三岁大爱人生 2019-10-02
本文原文地址:http://tech./archives/162
由于工作的需要,这两天搞了一下Android的开发,总体感觉还不算难,就是一些机制比较 麻烦,需要多了解了解。

在Android中,很多时候都需要用到主线程向子线程传值,其中一原因就是Android只允许在主线程中进行UI修改,而像一些网络方面的传输必须得用其他的线程,所以从主线程向其他线程传值就是必要的了。

这次工作中我需要使用一个按钮把一个序列号传到服务器的接口上,这样就涉及到了网络操作,查到网上的案例很多都是直接这样使用:

主线程中:

new Thread(sendValueToServer).start();

而这个sendValueToServer是一个接口:

Runnable sendValueToServer = new Runnable(){

//这里需要实现run方法

@Override

public void run(){…}

}

开始我也是这样使用,但是死活传不进值去,后来想了一个办法,自己写了一个接口类

class sendValueToServer implements Runnable{

//自己定义一个结构用来传数据

JSONObject svrInfo;

//自己定义一个构造函数

public void sendValueToServer(JSONObject svrInfo){

//在这里把数据传进来

this.svrInfo=svrInfo;

}

//下面还是重写原来的run方法

@Override

public void run(){…}

}


这样在上面调用的时候就不能直接调用了,需要先定义一个结构 ,再把值传进来就可以了

New Thread(new sendValueToServer(JSONObject xxx)).start();

这样就实现了从主线程到子线程传值了,其实方法挺简单,但是我就不太明白安卓 为什么自己不在自己的Runnable 接口里实现这种小方法。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多