Android之利用EventBus进行数据传递

在项目中,不可避免的要在两个页面之间进行数据的传递,就算不传递,也需要进行刷新之类的,我们根据Google提供的库类方法,也是可以做的,主要有广播broadcastreceiver,startactivity方法或者是application实例等等,都是可以工作的(只要实现了都是好样的,毕竟功能实现优先于代码结构?)。

但是同时存在一个问题,那就是代码的耦合度高了,例如广播,你还要写一个内部类,继承自系统的广播类,然后还需要在进入页面之前进行new和注册广播,然后不要用的时候,还需要一个个的反注册掉,否则就有内存泄漏的危险。

然后在需要通知此页面需要更新或者其它操作的地方,发送一个广播。这个广播的action还必须要和注册的action相同。试想一下,如果你改了注册的action,你还要对应地找到发送广播的代码,在修改一次。这样的耦合就有了一定的限制了。

但是我们这里用到的另外一个解耦的第三方的组件就可以帮我们解决以上的烦恼了。详细请看下面的链接,讲的都是怎么用的入门级别,通俗易懂。

1、http://blog.csdn.net/harvic880925/article/details/40660137

2、http://blog.csdn.net/harvic880925/article/details/40787203


感谢博主分享!

转载于:https://www.cnblogs.com/Free-Thinker/p/7573490.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282344.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

负载均衡环境搭建实战之nginx和tomcat

Linux基本环境负载均衡的环境需要在linux下搭建完成,所以有一个基础的linux系统是必须的,这里建议大家按照http://edu.51cto.com/course/10209.html中的基础linux环境来安装,这样能少走弯路。JDK安装1、 下载对应版本的Java1.7,a)…

Java java.lang.SecurityException: Prohibited package name

java.lang.SecurityException: Prohibited package name 提示java错误: Exception in thread "main" java.lang.SecurityException: Prohibited package name: java.xxx 问题所在:package java.xx; 定义包时不能以java.的形式定义转载于:https…

桌面应用如何判断win11操作系统

背景Windows 11 操作系统已经正式发布快有一年了,在 .Net 开发中,我们获取操作系统版本,经常使用 Environment.OSVersion.Version.Major 和 Minor(6.1 Windows 7, 10.0 Windows 10),但是当 Win11 出现以后…

Nginx 网站定义自己的错误页面

场景: 为了给用户较好的交互和感官,我们通常需要对错误页面进行友好提示。 环境介绍: LNMP(linux(centos7.4)Nginx Mysql5.6 php7.0)实现: 这里,我直接对nginx的子配置文…

Python中的变量

1、声明变量: 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 namewupeiqi 上述代码声明了一个变量,变量名为:name,变量name的值为“wupeiqi” 变量的作用: 为了方便操作,需要把这些数据分别用一个简…

车辆调度

为什么80%的码农都做不了架构师?>>> 车辆调度系统 大体上分为4个部分吧 1.调度车辆:你调度的时候需要的车辆,方便给你运输啥的 2.调度任务:你为啥会调度车辆,肯定要有一个任务 3.客户:那这个…

threeJS 实用

texture可以是图片和canvas,并且最终是作为material的map属性来渲染。texture的构造函数中有一个参数image(图片,canvas),使用图片的时候需要使用imageLoader加载到图片产生一个image对象,然后设置成为text…

C#爬虫-Selenium ChromeDriver 设置代理

背景开发爬虫程序,如果不做代理设置,本机的外网IP很容易被网站封掉,导致不能持续进行数据抓取。而Selenium作为动态网页抓取的利器,我们有必要了解一下,如何对它进行代理设置,并正常访问网页。解决办法1、首…

Nginx 设置,设置已经解析的域名,在nginx中没有定义相应server时的默认访问

场景介绍: 因为业务需求,我们需要对域名进行解析,这里我对域名进行了如下解析但是,因为业务需求,我可能在nginx中只定义了kuman.xiaobudiu.top 和 www.xiaobudiu.top 的相应server的子配置文件,如图那么问题…

第一次作业--四则运算题目生成程序

功能简介: 1.获取用户所要生成算术的个数 2.随机生成算式和式子的答案 3.生成算式和答案的txt文件来保存算式和答案 思路: 生成里的运算数分为三个部分,整数,如果是分数就再分为分子和分母,然后为这三个部分创建数组&a…

ABP vNext微服务架构详细教程(补充篇)——单层模板(上)订正篇

简介在之前的《ABP vNext微服务架构详细教程》系列中,我们已经构建了完整的微服务架构实例,但是在开发过程中,我们会发现每个基础服务都包含10个类库,这是给予DDD四层架构下ABP的实现方案,但是实际使用中我们会发现&am…

MyBatis Plus轻松实现数据读写分离

在现代应用程序中,数据库是至关重要的组成部分。为了提高性能和可用性,常见的数据库优化策略之一是将数据库读和写操作分离,以降低数据库服务器的负载。MyBatis Plus是一个流行的Java持久化框架,它提供了读写分离的支持,结合Spring Boot 集成多数据源的特性可以帮助你轻松…

javascript基础修炼(4)——UMD规范的代码推演

javascript基础修炼(4)——UMD规范的代码推演 1. UMD规范 地址:https://github.com/umdjs/umd UMD规范,就是所有规范里长得最丑的那个,没有之一!!!它是为了让模块同时兼容AMD和CommonJs规范而出现的&#x…

Missing artifact log4j:log4j:bundle:1.2.17

为什么80%的码农都做不了架构师?>>> maven引入log4jjar包出现Missing artifact log4j:log4j:bundle:1.2.17,解决方法是去掉bundle,其他的解决方案可以参考maven log4j.jar问题 Maven使用log4j可能会有协议上的问题 如果log4j的版…

PHPStorm 配置远程服务器文件夹在本地windows镜像,实现代码自动同步(类似于Samba架构文件同步功能)

场景介绍: 这是一种类似samba架构,也和 filezillaxshell 模式相类似的代码文件同步的模式,但是却更加优雅,也更加方便简洁。环境介绍: 本地windows端:编辑器phpstorm 远程Linux端:centos&#x…

bzoj1143/2718 祭祀river(最大独立集)

[CTSC2008]祭祀river Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2175 Solved: 1098[Submit][Status][Discuss]Description 在遥远的东方,有一个神秘的民族,自称Y族。他们世代居住在水面上,奉龙王为神。每逢重大庆典, Y族…

反向ajax实现

在过去的几年中,web开发已经发生了很大的变化。现如今,我们期望的是能够通过web快速、动态地访问应用。在这一新的文章系列中,我们学习如何使用反 向Ajax(Reverse Ajax)技术来开发事件驱动的web应用,以此来…

linux系统启动流程及常见问题的解决

一、前言计算机开机是一个神秘的过程。我们只是按了开机键,就看到屏幕上的进度条或者一行行的输出,直到我们到达登录界面。然而,计算机开机又是个异常脆弱的过程,我们满心期望的登录界面可能并不会出现,而是一个命令行…

使用.NET开发一个屏幕OCR工具

本文将介绍使用.NET开发的一款桌面截图 OCR 工具,软件已开源,地址:https://github.com/sangyuxiaowu/Snipping_OCR背景因为不同地方人们的使用习惯不同,国内可能截图更多的是使用QQ,微信等即时聊天工具提供的截图功能。…

segnet 编译与测试

segnet 编译与测试参考:http://sunxg13.github.io/2015/09/10/caffe/http://m.blog.csdn.net/lemianli/article/details/76687508http://blog.h5min.cn/u010069760/article/details/75258539(注意:nakefile而非makefile.config)1、…