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.pswp.cn/news/282344.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282344.shtml
英文地址,請注明出處:http://en.pswp.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、…