日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

eventbus使用_Android EventBus框架的使用介绍

發布時間:2024/10/14 Android 103 豆豆
生活随笔 收集整理的這篇文章主要介紹了 eventbus使用_Android EventBus框架的使用介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

EventBus 是Android和Java數據通信的一個簡捷框架,在Android中,主要用于線程直接的通信以及Activity,Fragment等之間的數據交互等

官方介紹

  • 簡化組件之間的通信,解耦事件發送方和接收方,可以很好地處理Activity、Fragment和后臺線程直接的數據交互,避免復雜且容易出錯的依賴項和生命周期問題
  • 使您的代碼更簡單
  • 更快捷
  • 小(60k 的jar包)
  • 被安裝在十億以上的應用程序實踐證明
  • 具有發送線程、用戶優先級等高級功能

EventBus 的使用

效果圖

1.引入EventBus

implementation 'org.greenrobot:eventbus:3.2.0'

2.定義一個消息類,例如MessageEvent

public class MessageEvent { private String message; public MessageEvent(String message) { this.message = message; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; }}

3.全部代碼列表

public class MainActivity extends AppCompatActivity { TextView mTvText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTvText = findViewById(R.id.tv_text); EventBus.getDefault().register(this); } public void onClick(View view) { Intent intent = new Intent(this, Page1Activity.class); startActivity(intent); } @Subscribe public void onMessageEvent(MessageEvent messageEvent) { mTvText.setText(messageEvent.getMessage()); }}//activity_main.xml 布局文件<?xml version="1.0" encoding="utf-8"?>public class Page1Activity extends AppCompatActivity { TextView mTvMessage; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_page1); mTvMessage = findViewById(R.id.tv_message); } public void onMessageClick(View view) { String message = "我是一個消息"; mTvMessage.setText(message); MessageEvent messageEvent = new MessageEvent(message); EventBus.getDefault().post(messageEvent); }}//activity_page1.xml 布局文件<?xml version="1.0" encoding="utf-8"?>

PS :要注意register和unregister 方法的調用的時機,要配合Activity的生命周期或者Fragment的生命周期。不然會出現Post了消息,但無法收到消息的情況喔!!!

總結

以上是生活随笔為你收集整理的eventbus使用_Android EventBus框架的使用介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。