最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

理解Android中Activity的方法回調(diào)

 更新時(shí)間:2015年04月24日 09:27:08   投稿:junjie  
這篇文章主要介紹了理解Android中Activity的方法回調(diào),本文用一個(gè)完整實(shí)例模擬了Activity方法回調(diào)的過程,從而加深理解Activity的方法回調(diào)思想,需要的朋友可以參考下

為什么需要方法回調(diào)?

方法回調(diào)是功能定義和功能分離的一種手段,是一種松耦合的設(shè)計(jì)思想。在JAVA中回調(diào)是通過接口來實(shí)現(xiàn)的。作為一種系統(tǒng)架構(gòu),必須要有自己的運(yùn)行環(huán)境,并且要提供用戶的實(shí)現(xiàn)接口。

下面通過實(shí)例來模擬一下Android中Activity的方法回調(diào)思想。
Activity接口

復(fù)制代碼 代碼如下:

package com.xujing.test 
//定義接口 
public interface Activity{ 
    //創(chuàng)建時(shí)調(diào)用的方法 
    public void onCreate(); 
    //啟動(dòng)時(shí)調(diào)用的方法 
    public void onStart(); 
    //銷毀時(shí)調(diào)用的方法 
    public void onDestory(); 

Activity接口的實(shí)現(xiàn)類MyActivity

復(fù)制代碼 代碼如下:

package com.xujing.test 
//定義一個(gè)類實(shí)現(xiàn)Activity接口 
public void MyActivity implements Activity{ 
    //實(shí)現(xiàn)創(chuàng)建方法,簡單輸出提示信息 
    @Override 
    public void onCreate(){ 
        System.out.println("onCreate...."); 
    } 
 
    //實(shí)現(xiàn)啟動(dòng)方法,簡單輸出提示信息 
    @Override 
    public void onStart(){ 
        System.out.println("onStart...."); 
    } 
 
    //實(shí)現(xiàn)銷毀方法,簡單輸出提示信息 
    @Override 
    public void onDestory(){ 
        System.out.println("onDestory...."); 
    } 

系統(tǒng)運(yùn)行環(huán)境類AndroidSystem

復(fù)制代碼 代碼如下:

package com.xujing.test 
//系統(tǒng)運(yùn)行環(huán)境類 
public class AndroidSystem{ 
    //定義創(chuàng)建常量 
    public static final int CREATE=1; 
    //定義啟動(dòng)常量 
    public static final int START=2; 
    //定義銷毀常量 
    public static final int DESTORY=3; 
 
    //運(yùn)行方法 
    public void run(Activity a,int state){ 
        switch(state){ 
            //創(chuàng)建 
            case CREATE: 
                a.onCreate(); 
                break; 
            //啟動(dòng) 
            case START: 
                a.onStart(); 
                break; 
            //銷毀 
            case DESTORY: 
                a.onDestory(); 
                break; 
        } 
    } 


測試類:

復(fù)制代碼 代碼如下:

package com.xujing.test 
//測試類 
public class Test{ 
    //主方法 
    public static void main(String[] args){ 
        //實(shí)例化AndroidSystem 
        AndroidSystem system = new AndroidSystem(); 
 
        //實(shí)例化MyActivity 
        Activity a = new MyActivity(); 
 
        //創(chuàng)建 
        system.run(a,AndroidSystem.CREATE); 
        //啟動(dòng) 
        system.run(a,AndroidSystem.START); 
        //銷毀 
        system.run(a,AndroidSystem.DESTORY); 
    } 

通過上述代碼我們可以看出,接口(系統(tǒng)框架)是系統(tǒng)提供的,接口的實(shí)現(xiàn)是用戶實(shí)現(xiàn)的。這樣可以達(dá)到接口統(tǒng)一,實(shí)現(xiàn)不同。系統(tǒng)通過在不同的狀態(tài)“回調(diào)”我們的實(shí)現(xiàn)類,來達(dá)到接口和實(shí)現(xiàn)的分離。

相關(guān)文章

  • Android 5.0最應(yīng)該實(shí)現(xiàn)的8個(gè)期望

    Android 5.0最應(yīng)該實(shí)現(xiàn)的8個(gè)期望

    毫無疑問,Android 5 將是令人興奮的操作系統(tǒng),因?yàn)?Android4.0 至 4.4 版本之間并沒有顯著的差異,顯然谷歌會(huì)在 5.0 版本中進(jìn)行一些較大幅度的革新
    2016-01-01
  • 詳解Android app自動(dòng)更新總結(jié)(已適配9.0)

    詳解Android app自動(dòng)更新總結(jié)(已適配9.0)

    這篇文章主要介紹了詳解Android app自動(dòng)更新總結(jié)(已適配9.0),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Android利用WindowManager實(shí)現(xiàn)懸浮窗

    Android利用WindowManager實(shí)現(xiàn)懸浮窗

    這篇文章主要為大家詳細(xì)介紹了Android利用WindowManager實(shí)現(xiàn)懸浮窗效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • android屏幕全屏的實(shí)現(xiàn)代碼

    android屏幕全屏的實(shí)現(xiàn)代碼

    android屏幕全屏的實(shí)現(xiàn)代碼,需要的朋友可以參考一下
    2013-05-05
  • Flutter投票組件使用方法詳解

    Flutter投票組件使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了Flutter投票組件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Android開發(fā)環(huán)境安裝和配置圖文教程

    Android開發(fā)環(huán)境安裝和配置圖文教程

    輕松搞定Android開發(fā)環(huán)境部署,這篇文章主要為大家詳細(xì)介紹了Android開發(fā)環(huán)境安裝和配置圖文教程,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Android中WebView的基本配置與填坑記錄大全

    Android中WebView的基本配置與填坑記錄大全

    webview是一直都很痛恨的控件,你又不能不用,但是一旦大規(guī)模測試起來你就發(fā)現(xiàn)這個(gè)webview真是坑。各種你想不到的錯(cuò)誤 在各種奇怪的手機(jī),各種不一樣的版本里出現(xiàn)各種想不到的問題。本文就介紹了Android中WebView的基本配置與遇到的一些填坑記錄,需要的朋友可以參考下。
    2017-11-11
  • Android?模擬地圖定位功能的實(shí)現(xiàn)

    Android?模擬地圖定位功能的實(shí)現(xiàn)

    這篇文章主要介紹了Android?模擬地圖定位功能的實(shí)現(xiàn),本工程利用手機(jī)自帶的"模擬位置"功能實(shí)現(xiàn)運(yùn)行時(shí)修改LocationManager結(jié)果,需要的朋友可以參考一下
    2022-02-02
  • ContentProvider客戶端處理provider邏輯分析

    ContentProvider客戶端處理provider邏輯分析

    這篇文章主要為大家介紹了ContentProvider客戶端處理provider邏輯分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Android GPS獲取當(dāng)前經(jīng)緯度坐標(biāo)

    Android GPS獲取當(dāng)前經(jīng)緯度坐標(biāo)

    這篇文章主要為大家詳細(xì)介紹了Android GPS獲取當(dāng)前經(jīng)緯度坐標(biāo),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05

最新評(píng)論

江达县| 东城区| 措勤县| 达日县| 通道| 永济市| 永登县| 醴陵市| 天长市| 喀喇| 华蓥市| 通化市| 恩施市| 行唐县| 灌云县| 沅陵县| 凤翔县| 金湖县| 五常市| 德钦县| 浪卡子县| 德江县| 定西市| 南安市| 赤壁市| 大名县| 东城区| 陕西省| 青神县| 钟祥市| 靖安县| 和林格尔县| 建阳市| 邵阳县| 泗洪县| 莎车县| 兰溪市| 鲁甸县| 绥棱县| 浪卡子县| 金堂县|