【移動應(yīng)用開發(fā)技術(shù)】Android之利用EventBus發(fā)送消息傳遞示例_第1頁
【移動應(yīng)用開發(fā)技術(shù)】Android之利用EventBus發(fā)送消息傳遞示例_第2頁
【移動應(yīng)用開發(fā)技術(shù)】Android之利用EventBus發(fā)送消息傳遞示例_第3頁
【移動應(yīng)用開發(fā)技術(shù)】Android之利用EventBus發(fā)送消息傳遞示例_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

【移動應(yīng)用開發(fā)技術(shù)】Android之利用EventBus發(fā)送消息傳遞示例

一、概述

EventBus是一款針對Android優(yōu)化的發(fā)布/訂閱事件總線。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,線程之間傳遞消息.優(yōu)點是開銷小,代碼更優(yōu)雅。以及將發(fā)送者和接收者解耦。

1、下載EventBus的類庫

源碼:EventBus_jb51.rar2、基本使用(1)自定義一個類,可以是空類,比如:(2)在要接收消息的頁面注冊:(3)發(fā)送消息(4)接受消息的頁面實現(xiàn)(共有四個函數(shù),各功能不同,這是其中之一,可以選擇性的實現(xiàn),這里先實現(xiàn)一個):

(5)解除注冊

順序就是這么個順序,可真正讓自己寫,估計還是云里霧里的,下面舉個例子來說明下。

首先,在EventBus中,獲取實例的方法一般是采用EventBus.getInstance()來獲取默認的EventBus實例,當然你也可以new一個又一個,個人感覺還是用默認的比較好,以防出錯。二、實戰(zhàn)

先給大家看個例子:

當擊btn_try按鈕的時候,跳到第二個Activity,當點擊第二個activity上面的FirstEvent按鈕的時候向第一個Activity發(fā)送消息,當?shù)谝粋€Activity收到消息后,一方面將消息Toast顯示,一方面放入textView中顯示。按照下面的步驟,下面來建這個工程:1、基本框架搭建

想必大家從一個Activity跳轉(zhuǎn)到第二個Activity的程序應(yīng)該都會寫,這里先稍稍把兩個Activity跳轉(zhuǎn)的代碼建起來。后面再添加EventBus相關(guān)的玩意。MainActivity布局(activity_main.xml)新建一個Activity,SecondActivity布局(activity_second.xml)MainActivity.java(點擊btn跳轉(zhuǎn)到第二個Activity)到這,基本框架就搭完了,下面開始按步驟使用EventBus了。

2、新建一個類FirstEvent這個類很簡單,構(gòu)造時傳進去一個字符串,然后可以通過getMsg()獲取出來。

3、在要接收消息的頁面注冊EventBus:

在上面的GIF圖片的演示中,大家也可以看到,我們是要在MainActivity中接收發(fā)過來的消息的,所以我們在MainActivity中注冊消息。通過我們會在OnCreate()函數(shù)中注冊EventBus,在OnDestroy()函數(shù)中反注冊。所以整體的注冊與反注冊的代碼如下:4、發(fā)送消息

發(fā)送消息是使用EventBus中的Post方法來實現(xiàn)發(fā)送的,發(fā)送過去的是我們新建的類的實例!完整的SecondActivity.Java的代碼如下:5、接收消息

接收消息時,我們使用EventBus中最常用的onEventMainThread()函數(shù)來接收消息,具體為什么用這個,我們下篇再講,這里先給大家一個初步認識,要先能把EventBus用起來先。

在MainActivity中重寫onEventMainThread(FirstEventevent),參數(shù)就是我們自己定義的類:在收到Event實例后,我們將其中攜帶的消息取出,一方面Toast出去,一方面?zhèn)鞯絋extView中;完整的MainActiviy代碼如下:好了,到這,基本上算初步把Event

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論