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

歡迎訪問 生活随笔!

生活随笔

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

Android

Android学习按键事件监听与Command模式

發(fā)布時間:2023/12/20 Android 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android学习按键事件监听与Command模式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Android學習按鍵事件監(jiān)聽與Command模式 - Dufresne - 博客園

Android學習按鍵事件監(jiān)聽與Command模式

?

一 Command模式

意圖:

    將一個請求封裝為一個對象,從而使你可用不同的請求對客戶進行參數(shù)化;

  對請求排隊或記錄請求日志,以及支持可撤銷的操作。

    將請求被封裝成一個對象,當向某對象提交請求時,使我們可以不用去知道被具體的請求的操作或者請求的接收者,

  實現(xiàn)了動作的請求者對象和動作的執(zhí)行者對象之間的解耦合。

適用性:

  • 使用Command模式代替callback形式的回調(diào)應用;
  • 在不同的時刻指定、排列和執(zhí)行請求,動態(tài)的更改請求;
  • 支持取消操作;
  • 支持修改日志,保存請求執(zhí)行過程以便恢復操作;
  • Command模式支持一組事務的調(diào)用操作。且易于增加擴展新事務;?
  •   (何為事務參考:http://book.51cto.com/art/201202/319377.htm)

    結(jié)構:

    ??????

        

    說明:

      Command:命令的封裝者,聲明命令執(zhí)行的操作接口;

      ConcreteCommand:使命令的具體接收者執(zhí)行相應的動作;

      Invoke:發(fā)出執(zhí)行該命令的請求,存儲具體命令執(zhí)行者的抽象父類;

      Receiver:實施與執(zhí)行具體相關請求的具體操作,由命令對象創(chuàng)建者指定;

    ?

      通過此圖可以到此模式的核心:實現(xiàn)操作對象的調(diào)用Invoke與具體實施該操作的對象Receiver之間解耦,

    是通過增加Command,將動作執(zhí)行委托給Command來執(zhí)行調(diào)用真正的動作執(zhí)行者。

    ?

    二 Android中OnClickListener

    在View類中:

      public interface OnClickListener {

        void onClick(View v);

      }

      作用:Interface definition for a callback to be invoked when a view is clicked.

        就是一個click事件的回調(diào)接口。

      在需要響應click事件的View中,都需要注冊一個相應的ClickListener來監(jiān)聽click事件發(fā)生時被調(diào)用。

    看一下面這段代碼:Button控件

      

    public class MyActivity extends Activity {   protected void onCreate(Bundle icicle) {super.onCreate(icicle);setContentView(R.layout.content_layout_id);final Button button = (Button) findViewById(R.id.button_id);//注冊click事件監(jiān)聽器 button.setOnClickListener(new View.BtnOnClickListener());}   private class BtnOnClickListener extends OnClickListener{     public void onClick(View v) {// Perform action on click}} }

    ?

    看一下相應的這個結(jié)構:?

    ?  

        

      這里面View就是Invoke,OnClickListener就是Command,MyActivity就是Receiver。

    執(zhí)行過程如下:

      

        

    ?

    可以看到這種方式的應用屬于:

      Command模式替換Callback函數(shù)形式的回調(diào)模型,讓框架結(jié)構變得更清晰更靈活。

    轉(zhuǎn)載于:https://www.cnblogs.com/seven1979/p/4305829.html

    總結(jié)

    以上是生活随笔為你收集整理的Android学习按键事件监听与Command模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。