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

歡迎訪問 生活随笔!

生活随笔

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

Android

【IOC 控制反转】Android 事件依赖注入 ( 事件三要素 | 修饰注解的注解 | 事件依赖注入步骤 )

發布時間:2025/6/17 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【IOC 控制反转】Android 事件依赖注入 ( 事件三要素 | 修饰注解的注解 | 事件依赖注入步骤 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 總結
  • 一、Android 事件設置三要素
  • 二、修飾注解的注解
  • 三、Android 事件依賴注入步驟

總結

Android 依賴注入的核心就是通過反射獲取 類 / 方法 / 字段 上的注解 , 以及注解屬性 ; 在 Activity 基類中 , 獲取該注解 以及 注解屬性 , 進行相關操作 ;





一、Android 事件設置三要素



根據以下設置組件點擊事件的代碼 , 分析事件注入的要素 :

textView.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {} });
  • 點擊事件 : 設置點擊事件 , 需要調用 View.setOnClickListener 方法進行設置 ;

  • 監聽器類型 : 設置監聽器類型 , 一般是 View.OnClickListener ;

  • 事件觸發回調方法 : 事件觸發后的回調方法 , 原型為 public void onClick(View v) ;


為了兼容各種事件注入 , 如長按事件 , 上述事件設置三要素分別是

  • 點擊事件 : View.setOnLongClickListener
  • 監聽器類型 : View.OnLongClickListener
  • 事件觸發回調方法 : public boolean onLongClick(View v)
textView.setOnLongClickListener(new View.OnLongClickListener() {@Overridepublic boolean onLongClick(View v) {return false;}

如果要兼容各種不同的事件 , 就需要定義不同的注解 , 這里引入一個修飾注解的注解 , 為不同的時間注入注解進行配置 ;





二、修飾注解的注解



在 Java Web 開發中 , 經常使用注解進行相關配置 , 如 Spring ;

配置 EventBase 注解 , 用于修改事件注入的注解 , 點擊事件與長按事件 , 都要使用下面的 EventBase 注解進行修飾 , 只是事件設置 333 要素設置不同 ;

package kim.hsl.ioc_lib;import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/*** 自定義注解* 用于注解上的注解* 用于依賴注入視圖*/ @Target(ElementType.ANNOTATION_TYPE) // 該注解作用于注解上 @Retention(RetentionPolicy.RUNTIME) // 注解保留到運行時 public @interface EventBase {/*** 設置事件監聽的方法* @return*/String listenerSetter();/*** 設置監聽器類型* @return*/Class<?> listenerType();/*** 事件觸發后的回調方法* @return*/String callbackMethod(); }

使用上述注解修飾 OnClick 注解 :

package kim.hsl.ioc_lib;import android.view.View;import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/*** 自定義注解* 用于依賴注入視圖*/ @Target(ElementType.METHOD) // 該注解作用于方法上 @Retention(RetentionPolicy.RUNTIME) // 注解保留到運行時 @EventBase(listenerSetter = "setOnClickListener",listenerType = View.OnClickListener.class,callbackMethod = "onClick") public @interface OnClick {int[] value(); // 接收 int 類型數組 }



三、Android 事件依賴注入步驟



Android 事件依賴注入步驟 :

  • ① 聲明注解 : 聲明視圖注入注解 OnClick ;
  • ② 聲明修飾注解的注解 : 聲明修飾注解的注解 EventBase , 用于配置事件 333 要素 ;
  • ② 客戶端 Activity : 定義 MainActivity , 繼承 BaseActivity , 在方法上使用 @OnClick 注解注入視圖點擊事件 ;
  • ③ IOC 庫中的 Activity 父類 : 定義 BaseActivity , 在 BaseActivity 中的 onCreate 方法中 , 處理依賴注入相關邏輯 ;
  • ④ 依賴注入邏輯 : 獲取 Activity 類 , 并使用反射獲取類中的所有屬性字段 , 獲取所有的 @OnClick 和 @EventBase注解 , 如果找到該注解 , 執行 setOnClickListener 設置視圖組件對象的點擊方法 ;

總結

以上是生活随笔為你收集整理的【IOC 控制反转】Android 事件依赖注入 ( 事件三要素 | 修饰注解的注解 | 事件依赖注入步骤 )的全部內容,希望文章能夠幫你解決所遇到的問題。

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