zoukankan      html  css  js  c++  java
  • 网络请求怎么样和UI线程交互? Activity2怎么通知Activity1 更新数据

    1、网络请求怎么样和UI线程交互?
    目前我的做法是,建立线程池管理网络请求线程,通过添加task来新增网络请求。所有的网络操作通过统一的request来实现,网络返回结果通过回调onError和onSuccess来实现对结果的处理(涉及到ui部分用runOnUiThread or handler通知ui更新,工程上两种都有,主要看你喜欢,不过用handler请注意内存泄露问题。。。)
    这种做法好处就是,线程池可以避免不断开启线程导致虚耗资源,同时可以做到管理线程,自定义任务执行的顺序。统一request和回调的原因在于,不需要为每一个请求特例化,直接在回调中做自定义处理。
    当然,若要通用化,最好还是使用manager把这些都包装好再使用,做到分工明确。
     

    2、Activity1打开Activity2,那么Activity2怎么通知Activity1更新数据?(不能用Intent)
    个人觉得最牛掰的写法是广播,或者watcher。牛掰的原因是,不管你要通知多少个activity更新都可以做到,只要注册了消息。
    广播就是注册监听事件,然后发送者发送消息,有兴趣的人注册要监听的消息就可以在广播者发送消息时收到。
    watcher观察者模式道理差不多,是告知通知者说我对某个消息有兴趣,有该消息就通知。
     
     
  • 相关阅读:
    saltstack学习-1:saltstack介绍、部署、常见问题处理
    CentOS 6.8使用Subversion + Usvn 搭建版本管理服务器+常用钩子
    matlab快捷键
    转行小白成长路-java篇
    转行小白成长路-java篇
    转行小白成长路-java篇
    转行小白成长路-java篇
    转行小白成长路-java篇
    转行小白成长路-java篇
    转行小白成长路-java篇
  • 原文地址:https://www.cnblogs.com/AceIsSunshineRain/p/5196615.html
Copyright © 2011-2022 走看看