編輯:關於android開發
今天簡單的介紹 一下啊 android EventBus 的使用
EventBus 在官方介紹中是訂閱......什麼的 一大堆 , 在我android 菜鳥眼裡 就是用來代替android 廣播的 簡單粗暴 效率高;
其實用法挺簡單 的 就 三步 注冊(官方叫訂閱) 接收 取消(取消訂閱). 算了 不多說直接上代碼 ;
如果你用的是 android studio 直接在build.gradle 裡添加 :
compile files('libs/EventBus2.4.jar')
這個基礎的就不做 過多解釋了 網上 jar 類庫什麼的一大堆
下面是使用:
首先是發送數據
EventBus.getDefault().post(event);//這個在項目哪裡都可以發的 event 參數等下講
接收:
EventBus.getDefault().register(this);//接收之前是要先注冊的 否則不會觸發
onEventMainThread 也就是收不到發的event 你可以寫在onCreate()等初始化方法裡
public void onEventMainThread(Event event) {
//接收方法(這是低版本固定格式後面介紹高版本使用)
//event 可以是任意類型 只能一個參數 建議封裝一下擴展性強一點 下
//就把這裡當做廣播接收的地方用吧 更新ui 獲取數據.....都可以
int type = event.getType();
switch (type) {
case 1:
break;
case 2:
}
break;
case 3:
break;
}
}
//Event 封裝
public class Event {
private int type;
private Object message;
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public Object getMessage() {
return message;
}
public void setMessage(Object message) {
this.message = message;
}
}
到這裡就介紹完了.....相信初學的都能看懂 另外有些時候 發現跟新ui有時候會不靈 可能是不同的項目某些寫法上造成的 原因還在查找中 ,但是放心用吧 一般情況不會有問題的
然後提一下 EventBus3.0 用法都一樣 只是接收方法不一樣了 想在
onEventMainThrea更新ui 必須在方法頭部加
@Subscribe(threadMode = ThreadMode.MainThread) //在ui線程執行
public void onUserEvent(UserEvent event) {
}
@Subscribe(threadMode = ThreadMode.BackgroundThread) //在後台線程執行
public void onUserEvent(UserEvent event) {
}
@Subscribe(threadMode = ThreadMode.Async) //強制在後台執行
public void onUserEvent(UserEvent event) {
}
@Subscribe(threadMode = ThreadMode.PostThread) //默認方式, 在發送線程執行
public void onUserEvent(UserEvent event) {
}
另外 :你不必再去約定OnEvent方法開頭了該操作很簡單,定義了一個hello方法,需要傳入String參數,在其中操作UI操作,注意:我們添加了注解@Subscribe,其含義為訂閱者,在其內傳入了threadMode,我們定義為ThreadMode.MainThread,其含義為該方法在UI線程完成,這樣你就不要擔心拋出異常啦。是不是很簡單?
Android中GridView通過自定義適配器(未優化)實現圖文視圖排列,androidgridviewAndroid中GridView組件用來以網格方式排列視圖,與矩
創建第一個Android 5.0應用程序,android5.01、新建一個Andriod項目,並配置相關參數 2、接著下一步 3、接著下一步,配置相關參數 &nb
[Android] Activity間切換,傳遞數據,androidactivity前面照著android系統的裁剪圖片的功能自己寫了一個相似的工具。功能是大體上實現了,
Android 中間人攻擊 0x00 Android中間人攻擊的思路就是劫持局域網中被攻擊機器和服務器間的對話。被攻擊機器和服務器表面上工作正常,實際上已經被中間人劫