理解Android中Activity的方法回調(diào)
為什么需要方法回調(diào)?
方法回調(diào)是功能定義和功能分離的一種手段,是一種松耦合的設(shè)計思想。在JAVA中回調(diào)是通過接口來實現(xiàn)的。作為一種系統(tǒng)架構(gòu),必須要有自己的運行環(huán)境,并且要提供用戶的實現(xiàn)接口。
下面通過實例來模擬一下Android中Activity的方法回調(diào)思想。
Activity接口
package com.xujing.test
//定義接口
public interface Activity{
//創(chuàng)建時調(diào)用的方法
public void onCreate();
//啟動時調(diào)用的方法
public void onStart();
//銷毀時調(diào)用的方法
public void onDestory();
}
Activity接口的實現(xiàn)類MyActivity
package com.xujing.test
//定義一個類實現(xiàn)Activity接口
public void MyActivity implements Activity{
//實現(xiàn)創(chuàng)建方法,簡單輸出提示信息
@Override
public void onCreate(){
System.out.println("onCreate....");
}
//實現(xiàn)啟動方法,簡單輸出提示信息
@Override
public void onStart(){
System.out.println("onStart....");
}
//實現(xiàn)銷毀方法,簡單輸出提示信息
@Override
public void onDestory(){
System.out.println("onDestory....");
}
}
系統(tǒng)運行環(huán)境類AndroidSystem
package com.xujing.test
//系統(tǒng)運行環(huán)境類
public class AndroidSystem{
//定義創(chuàng)建常量
public static final int CREATE=1;
//定義啟動常量
public static final int START=2;
//定義銷毀常量
public static final int DESTORY=3;
//運行方法
public void run(Activity a,int state){
switch(state){
//創(chuàng)建
case CREATE:
a.onCreate();
break;
//啟動
case START:
a.onStart();
break;
//銷毀
case DESTORY:
a.onDestory();
break;
}
}
}
測試類:
package com.xujing.test
//測試類
public class Test{
//主方法
public static void main(String[] args){
//實例化AndroidSystem
AndroidSystem system = new AndroidSystem();
//實例化MyActivity
Activity a = new MyActivity();
//創(chuàng)建
system.run(a,AndroidSystem.CREATE);
//啟動
system.run(a,AndroidSystem.START);
//銷毀
system.run(a,AndroidSystem.DESTORY);
}
}
通過上述代碼我們可以看出,接口(系統(tǒng)框架)是系統(tǒng)提供的,接口的實現(xiàn)是用戶實現(xiàn)的。這樣可以達到接口統(tǒng)一,實現(xiàn)不同。系統(tǒng)通過在不同的狀態(tài)“回調(diào)”我們的實現(xiàn)類,來達到接口和實現(xiàn)的分離。
相關(guān)文章
詳解Android app自動更新總結(jié)(已適配9.0)
這篇文章主要介紹了詳解Android app自動更新總結(jié)(已適配9.0),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04
Android利用WindowManager實現(xiàn)懸浮窗
這篇文章主要為大家詳細介紹了Android利用WindowManager實現(xiàn)懸浮窗效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07
Android開發(fā)環(huán)境安裝和配置圖文教程
輕松搞定Android開發(fā)環(huán)境部署,這篇文章主要為大家詳細介紹了Android開發(fā)環(huán)境安裝和配置圖文教程,感興趣的小伙伴們可以參考一下2016-06-06
ContentProvider客戶端處理provider邏輯分析
這篇文章主要為大家介紹了ContentProvider客戶端處理provider邏輯分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10

