Android的MVC模式

MVC 全稱Model View Controller  換成中文理解就是模型層、 視圖層、 控制層java

MVC模式是把項目編程分紅三個層次數據庫

    模型層 - 進行業務邏輯處理、數據請求。編程

    視圖層 - 數據展現。在layout.xml佈局、自定義佈局控件進行展現ide

    控制層 - 把客戶與視圖層的交互操做指令集合,傳遞給模型層佈局

 

個人理解核心全在這圖設計

 

 

 

 

 

 

 

 

 

 

 

 

具體Android項目小功能演示:code

   簡單例子-添加新用戶:xml

          編程思路:點擊保存按鈕, 獲取EditText輸入的用戶名、密碼,再調用後臺接口去更改數據庫表的記錄,並根據接口返回狀態去處理不一樣的結果,展現給用戶看.接口

          模式MVC編程整理: 事件

               一、客戶與視圖層交互,輸入用戶名、密碼,並點擊保存按鈕。

               二、控制層須要把用戶信心發送到模型層。

               三、模型層把用戶信息進行業務邏輯操做,暴露接口返回處理好的數據

               四、選擇設計規定的視圖層顯示返回的數據

          根據模式編程思路:

               項目目錄

                        

              一、點擊事件,Android角度出發控制層能夠當作是Activity   

​
tv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //發送用戶信息到模型層
            }
        });

​

              二、模型層構建 

public class UserModel implements UserGetIml{
    @Override
    public void getData(String name, String password, onAddComplectedListener listener) {
        User user= new User(name, password);
        if (listener != null) {
            listener.success(user);
        }
    }
}
public interface UserGetIml {
    void getData(String name, String password, onAddComplectedListener listener);
}
public interface onAddComplectedListener {
    void success (User user);
}

              三、視圖層

userModel = new UserModel();
        tv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //發送用戶信息到模型層
                userModel.getData(name, password
                        , new onAddComplectedListener() {
                            @Override
                            public void success(User user) {
                                //交給視圖層顯示
                                tv.setText(user.getName());
                            }
                        });
            }
        })

 

Android MVC弊端:

從上面代碼你們就能看出緣由, Activity 能夠說又是扮演控制層又扮演視圖層.並無很好分割開。

相關文章
相關標籤/搜索