社区
Android
帖子详情
如何让主线程等待子线程获得网络数据后再继续运行?
RainMi_
2015-10-05 04:46:16
我想要从网络中获取数据,然后在ui中显示获得的数据,但是请求网络数据必须要在子线程中进行,而主线程貌似是不能暂停运行的,那么如何让主线程等待子线程获得网络数据后再继续运行?
...全文
780
10
打赏
收藏
如何让主线程等待子线程获得网络数据后再继续运行?
我想要从网络中获取数据,然后在ui中显示获得的数据,但是请求网络数据必须要在子线程中进行,而主线程貌似是不能暂停运行的,那么如何让主线程等待子线程获得网络数据后再继续运行?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tcmakebest
2015-10-06
打赏
举报
回复
楼主让主线程等待,明显是在开历史的倒车啊.要知道会显示强制关闭的按钮的啊,难道这是可以接受的么 其实只要把主线程的相关功能按钮禁止就可以了,耐心等待强大的 Handler 收到消息, 但也要考虑万一没有消息来, 主线程可以优雅地退出.
阿飞__
2015-10-06
打赏
举报
回复
弄个接口回调撒,子线程执行完后就执行接口回调的方法
qq_31772099
2015-10-06
打赏
举报
回复
可以在主线程调用异步任务,新建类继承AsyncTask,在doInBackground(在子线程执行)方法下完成网络数据加载的工作,然后 doInBackground可以把获得的数据传给onPostExecute(在主线程执行)方法。在这里你就可以把数据回传给主线程了
leobert_lan
2015-10-06
打赏
举报
回复
如果说自己写这个模块的话,反问下版主为什么要让主线程等待,为什么要让主线程等待,为什么要让主线程等待。 1正是为了避免anr,才开子线程。 2让主线程一直显示一个progressbar之类的东西不能算严格的anr,哪怕它真的不鸟你。 版主想说的等待,我看应该是显示给用户一个提示进度的组件,并且在子线程处理结束后得到反馈,继而处理后续逻辑。显然,要使用message。
zhtoad
2015-10-06
打赏
举报
回复
我就记得 AsyncTask 可以实现这个功能
xiaohuanqi
2015-10-05
打赏
举报
回复
首先主线程是不可以等待的,不然就报ANR异常了,其次,子线程获取数据完毕直接发一个消息,使用Handler消息机制,告诉Handler去处理这个消息就达到你说的目的了,Hanlder就是在主线程中执行
microhex
2015-10-05
打赏
举报
回复
哥,主线程是不能等待的啊。。。
星灭
2015-10-05
打赏
举报
回复
不是那个,虽然不知道你怎么请求的,但很多框架都有封装好的网络请求方法,会有一个获取数据成功之后执行的方法,也能在这个方法里面修改主ui
RainMi_
2015-10-05
打赏
举报
回复
引用 1 楼 u013691865 的回复:
子线程获得数据不是有成功的回调方法吗?
你是说handler吗,handler也只会在sendMessage的时候被调用吧,没sendMessage之前,主线程和子线程依旧同时运行互不干扰啊
星灭
2015-10-05
打赏
举报
回复
子线程获得数据不是有成功的回调方法吗?
关于Android
主
线程
依赖
子
线程
获取的结果进行下一步操作的相关总结
本文探讨了在Android开发中,如何使用
子
线程
进行
网络
访问及
数据
库操作,并通过Handler机制将
数据
安全地传递给
主
线程
,实现UI更新等操作。文章详细介绍了
子
线程
获取
数据
后,利用Handler发送消息至
主
线程
的全过程。
Unity进阶篇:
主
线程
和
子
线程
概念及注意点
本文深入解析Unity中的
线程
概念,包括
主
线程
与
子
线程
的区别,Unity生命周期函数的使用,如Awake、Start、Update等,以及如何在Unity中正确使用多
线程
处理耗时任务,避免
主
线程
阻塞。
Java
等待
线程
终止,可用于加载
数据
再刷新界面等操作
本文介绍了一种在Java中实现
线程
同步的方法,利用Thread类的join()方法确保
主
线程
等待
子
线程
执行完毕后再
继续
运行
,适用于
网络
数据
加载等场景。
iOS 【Multithreading-
线程
间的交互通信(图片下载示例)(掌握)】
本文通过一个图片下载的实例介绍了iOS应用中如何在
子
线程
进行
网络
请求下载图片,并将图片
数据
安全地更新到
主
线程
的ImageView中,展示了
线程
间通信的基本流程。
网络
交互与
线程
同步
本文探讨了在
子
线程
中执行多个
网络
请求时的
线程
同步问题,通过使用CountDownLatch来确保一个
网络
请求在另一个请求完成后再执行,避免了
线程
间的竞争条件,保证了
数据
的一致性和程序的稳定性。
Android
80,488
社区成员
91,379
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章