亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        回調(diào)機(jī)制及其在Android開發(fā)中的應(yīng)用

        2018-03-31 01:22:08
        設(shè)備管理與維修 2018年23期
        關(guān)鍵詞:用戶方法

        孫 軻

        (電子科技大學(xué)成都學(xué)院,四川成都 610000)

        0 引言

        作為手機(jī)快速崛起并且被越來(lái)越多的人廣泛使用的時(shí)代,手機(jī)相關(guān)程序的開發(fā)必然會(huì)越來(lái)越受到重視,無(wú)論是電腦的桌面應(yīng)用還是手機(jī)的程序應(yīng)用,面對(duì)更多的還是用戶,實(shí)現(xiàn)最多的是對(duì)于不同用戶動(dòng)作的積極處理,也就是意味著需要對(duì)每一個(gè)用戶的動(dòng)作進(jìn)行積極響應(yīng),而對(duì)用戶積極響應(yīng)的處理機(jī)制就是指對(duì)事件的處理。

        1 回調(diào)機(jī)制及其實(shí)現(xiàn)

        在一個(gè)應(yīng)用系統(tǒng)中,不同軟件模塊之間都會(huì)預(yù)留接口,按照調(diào)用方式的不同分為3個(gè)主要方面,分別是同步調(diào)用、回調(diào)以及異步調(diào)用。同步調(diào)用是一種阻塞式調(diào)用,調(diào)用方需等被調(diào)用方完成指令返回后才能繼續(xù)進(jìn)行,在被調(diào)用方執(zhí)行指令期間,調(diào)用方處于被完全阻塞的狀態(tài);同步調(diào)用是一種單向調(diào)用,但是回調(diào)不同,回調(diào)是一種雙向調(diào)用模式,指被調(diào)用方在被調(diào)用的同時(shí)也能調(diào)用對(duì)方的接口,而異步調(diào)用指一種消息或者事件的發(fā)生機(jī)制,但與一般的消息或者事件機(jī)制的調(diào)用方向相反,位于接口的服務(wù)在收到消息或是發(fā)生某種事件后,會(huì)主動(dòng)調(diào)用客戶方接口。軟件開發(fā)時(shí),一般都會(huì)選擇回調(diào)與異步調(diào)用共同執(zhí)行完成任務(wù),使用回調(diào)完成軟件開發(fā)過程中對(duì)異步消息的注冊(cè),而使用異步調(diào)用實(shí)現(xiàn)對(duì)消息的通知,在這3類調(diào)用方式中,同步調(diào)用的程序與使用最為簡(jiǎn)單,回調(diào)則可以認(rèn)為是異步調(diào)用的基礎(chǔ)。

        設(shè)計(jì)程序時(shí),使用不同類型的程序語(yǔ)言、構(gòu)建平臺(tái)以及構(gòu)建框架,對(duì)于這些東西而言,不同的客戶端與服務(wù)端的交叉用到的絕對(duì)不僅僅是同步調(diào)用的方式,更多的還是異步調(diào)用,主要功能是讓接口提供方能在某些情況發(fā)生時(shí)主動(dòng)通知客戶,我們所說的回調(diào),是能夠?qū)崿F(xiàn)一步消息模式的一個(gè)簡(jiǎn)單途徑,所謂回調(diào),對(duì)于一般的程序設(shè)計(jì)語(yǔ)言來(lái)說,實(shí)現(xiàn)過程并不是很復(fù)雜,可以通過簡(jiǎn)單的回調(diào)函數(shù)實(shí)現(xiàn),回調(diào)函數(shù)也是一個(gè)過程,但與其他面向?qū)ο蟮倪^程不同的是,主要還是能由調(diào)用方自己實(shí)現(xiàn)、然后反過來(lái)讓被調(diào)用方進(jìn)行使用的一種特殊函數(shù),除此之外,如果程序語(yǔ)言是面向客戶的語(yǔ)言,那么其回調(diào)的實(shí)現(xiàn)一般通過接口或者抽象類函數(shù)來(lái)實(shí)現(xiàn),這種接口稱為回調(diào)類接口,這種對(duì)象稱為回調(diào)類對(duì)象。

        2 Android(安卓)系統(tǒng)回調(diào)方法

        以處理原理的不同為劃分依據(jù),Android系統(tǒng)的處理機(jī)制可分為2種,其中一種回調(diào)方法是把回調(diào)制作作為劃分依據(jù),另外一種則是以監(jiān)聽器接口為基礎(chǔ)。對(duì)于圖形用戶界面而言,基于回調(diào)機(jī)制的事件處理應(yīng)用得更加廣泛,Android系統(tǒng)中每一個(gè)回調(diào)函數(shù)和接口,對(duì)事件的處理方法都不相同,開發(fā)人員可以根據(jù)實(shí)際情況對(duì)這些回調(diào)方法進(jìn)行重寫,達(dá)到對(duì)事件影響的目的。如果某一事件沒有任何模塊對(duì)其進(jìn)行處理,那么系統(tǒng)可能會(huì)對(duì)Activity中的回調(diào)方法進(jìn)行調(diào)用,從而確保所有事件都處于被處理狀態(tài)。

        2.1 onKeyDowm方法

        是一種相對(duì)抽象的回調(diào)方法,該回調(diào)方法曾經(jīng)被接口KeyEvent.Callback使用,目前所有的View在使用過程中都能實(shí)現(xiàn)這種接口的編寫目的以及對(duì)這個(gè)方法進(jìn)行重新編寫,這種回調(diào)方式主要用于手機(jī)鍵盤被按下時(shí)發(fā)生的事件的捕捉,這種方法來(lái)自于基于鍵盤的布爾參數(shù),參數(shù)中keyboard扮演的角色極為重要,其所指的是在參數(shù)輸入后轉(zhuǎn)換出的鍵值,即常說的鍵盤碼。在手機(jī)輸入中,每個(gè)按鈕對(duì)應(yīng)的鍵盤碼都是唯一的,應(yīng)用程序之間邏輯關(guān)系的獲得可以通過返回的鍵盤碼來(lái)實(shí)現(xiàn),通過對(duì)不同鍵盤碼的分析,可以了解用戶究竟按下了哪個(gè)鍵盤當(dāng)中的鍵。參數(shù)event在整個(gè)回調(diào)過程中也是非常重要的,這個(gè)參數(shù)主要指的是按鍵事件的對(duì)象,這些對(duì)象包含的內(nèi)容非常多,如對(duì)某個(gè)事件的觸發(fā)方法以及觸發(fā)某一事件所需要的詳細(xì)信息等都是按鍵事件的對(duì)象。一般情況下,觸發(fā)事件所需要的信息主要包括事件的類型、狀態(tài)、發(fā)生事件等。onKeyDowm方法主要是在用戶按下按鍵時(shí),系統(tǒng)自動(dòng)將按鍵的信息以及希望對(duì)應(yīng)完成的事件封裝成KeyEven對(duì)象的形式進(jìn)行返回處理,使應(yīng)用程序進(jìn)一步被使用。這種形式返回值的參數(shù)類型是布爾類型,即如果返回值為true,代表這個(gè)事件已經(jīng)得到完整處理,如果返回值為false狀態(tài),則表示這個(gè)事件處理的還不夠完全,需要采用其他回調(diào)方式進(jìn)行進(jìn)一步處理,這種情況下考慮的方法主要為Activity中的回調(diào)方法。

        2.2 onKeyUp方法。

        與onKeyDowm方法異曲同工,這2種方法采用的都是接口KeyEvent.Callback曾使用過的抽象回調(diào)方法,并且目前所有的View使用時(shí)全都實(shí)現(xiàn)了這種接口的編寫目的以及對(duì)于這個(gè)方法進(jìn)行了重新編寫,這個(gè)方法的出現(xiàn)主要是為了實(shí)現(xiàn)對(duì)手機(jī)鍵盤按鍵抬起的事件的捕捉。參數(shù)及返回值的意義與onKeyDowm方法比較類似。

        2.3 onTouchEvent方法

        與前面2種方法不同,這種方法在整個(gè)View大類中是一種對(duì)于方法的全新定義,而且整個(gè)大類中所有的子類都實(shí)現(xiàn)了對(duì)于這個(gè)方法的重寫,其主要含義是手機(jī)的應(yīng)用程序能以這種方式為手段,使手機(jī)屏幕的觸摸事件可以被處理,主要是針對(duì)觸屏手機(jī)而言。這個(gè)過程涉及幾個(gè)參數(shù),首先是參數(shù)event,這個(gè)參數(shù)是指這個(gè)事件的對(duì)象,是作為手機(jī)屏幕觸摸事件封裝類的對(duì)象而存在的,這個(gè)參數(shù)中包括這個(gè)事件的所有必要信息,如觸摸位置、發(fā)生觸摸的時(shí)間以及類型等。用戶觸摸手機(jī)屏幕時(shí),這個(gè)對(duì)象會(huì)被創(chuàng)建,然后對(duì)象的返回值返回,這種方式產(chǎn)生的返回值和鍵盤響應(yīng)里的返回值基本相同,機(jī)制也基本相同,返回值為true,代表這個(gè)事件已經(jīng)得到完整的處理;返回值為false,則說明這個(gè)事件處理的還不夠完全,需要通過其他回調(diào)方法對(duì)其進(jìn)行進(jìn)一步處理。這個(gè)方法與鍵盤方法的主要區(qū)別在于這種方法不是單純的處理一種事件,而是可以多種事件一起進(jìn)行處理,使用不同的動(dòng)作值來(lái)進(jìn)行區(qū)分。

        2.4 onTeackaltEvent方法

        這個(gè)方法的使用方式以及使用原理和前幾個(gè)回調(diào)方法基本類似,也可以在Activity以及View當(dāng)中實(shí)現(xiàn)對(duì)于這個(gè)方法的重寫,下面主要介紹這幾個(gè)方法當(dāng)中的參數(shù),首先是關(guān)于參數(shù)event,參數(shù)event是指對(duì)于手機(jī)軌跡球的封裝,這個(gè)參數(shù)能夠完成對(duì)手機(jī)軌跡球事件的封裝,像對(duì)觸發(fā)時(shí)間詳細(xì)信息的記錄、事件類型等都是事件封裝的主要內(nèi)容。在手機(jī)用戶對(duì)軌跡球進(jìn)行操控時(shí)對(duì)象會(huì)被創(chuàng)建,首先需要了解一下軌跡球與鍵盤的差別,手機(jī)對(duì)于軌跡球的設(shè)計(jì)比鍵盤的存在更加美觀,可以加強(qiáng)用戶對(duì)手機(jī)的印象分,而且在部分使用觸摸屏的手機(jī),某些型號(hào)的手機(jī)以及某些使用手機(jī)玩游戲的用戶而言,使用軌跡球比鍵盤方便很多,而且對(duì)應(yīng)的軌跡也更加細(xì)化,還能進(jìn)行更加精細(xì)的過程控制,相應(yīng)的在進(jìn)行控制時(shí),后臺(tái)的狀態(tài)對(duì)應(yīng)數(shù)值變化更加細(xì)致,甚至在模擬器運(yùn)行時(shí),使用軌跡球可以通過鼠標(biāo)的控制進(jìn)行軌跡球的運(yùn)行狀態(tài)模擬,這類手機(jī)設(shè)計(jì)出的軌跡球比只具有手機(jī)鍵盤的美觀性更加突出,能給用戶更好的使用體驗(yàn)。軌跡球的使用也比較簡(jiǎn)單,如在某些游戲中通過軌跡球的使用可以使整個(gè)控制過程更加合理。與普通鍵盤相比,軌跡球細(xì)化程度更強(qiáng),即在使用軌跡球時(shí),后臺(tái)表示狀態(tài)的數(shù)值會(huì)呈現(xiàn)更細(xì)微、更精準(zhǔn)的變化。在模擬器正常運(yùn)行狀態(tài)下,用戶可以通過F6鍵打開模擬器中的軌跡球,然后可以通過鼠標(biāo)的移動(dòng)達(dá)到模擬軌跡球事件的目的。

        2.5 onFocusChanged方法

        與前面幾種方法不同的是,這種方法可以進(jìn)行焦點(diǎn)改變,如果其中的某一個(gè)控件采用這種方法,就會(huì)在焦點(diǎn)改變時(shí)進(jìn)行焦點(diǎn)改變事件的處理。

        3 結(jié)束語(yǔ)

        Android主要應(yīng)用于手機(jī)操作系統(tǒng),所以必然要在手機(jī)上進(jìn)行合理的正常運(yùn)行,手機(jī)作為智能硬件,與計(jì)算機(jī)相比,計(jì)算及存儲(chǔ)能力都十分有限,所以并不適合用于大型的計(jì)算場(chǎng)合和辦公場(chǎng)合,而是作為客戶端軟件的載體,因?yàn)樽鳛榭梢阅迷谑种械目蛻舳?,手機(jī)可以充分發(fā)揮其攜帶方便以及易于交互的優(yōu)勢(shì),可以隨時(shí)進(jìn)行某個(gè)程序的運(yùn)行,也可以隨時(shí)進(jìn)行網(wǎng)絡(luò)訪問,實(shí)現(xiàn)網(wǎng)絡(luò)與服務(wù)器的交互。

        猜你喜歡
        用戶方法
        學(xué)習(xí)方法
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        可能是方法不對(duì)
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        用對(duì)方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        賺錢方法
        捕魚
        Camera360:拍出5億用戶
        在线观看视频国产一区二区三区 | 波多野结衣国产一区二区三区| 人妻有码中文字幕在线不卡| 日韩精品久久伊人中文字幕| 国产成人自拍高清在线| 欧美乱人伦人妻中文字幕| 久久人妻公开中文字幕| 日韩人妻无码中文字幕一区| 亚洲三级香港三级久久| 国产精品二区一区二区aⅴ污介绍| 牲欲强的熟妇农村老妇女| 亚洲综合五月天欧美| 高清成人在线视频播放| 国产成人综合久久久久久| av一区二区三区人妻少妇| 91久久国产精品视频| 少妇高潮太爽了免费网站| 色偷偷激情日本亚洲一区二区| 水蜜桃精品一二三| 传媒在线无码| 国产毛片精品一区二区色| 日本xxxx色视频在线观看免费| 色一情一乱一乱一区99av| 99久久久精品免费香蕉| 男的和女的打扑克的视频| 国产精品国产亚洲精品看不卡| 久久男人av资源网站无码 | 精品人妻一区三区蜜桃| 开心五月激情综合婷婷色 | 性欧美暴力猛交69hd| 国产精品激情综合久久| 国产精品熟女视频一区二区三区| 天天躁夜夜躁狠狠躁2021a2| 大地资源网更新免费播放视频| 视频网站在线观看不卡| 极品美女一区二区三区免费| 天码人妻一区二区三区| 亚洲欧美性另类春色| 日本av一级视频在线观看| 精品久久久久久久久午夜福利| 亚洲视频在线看|