国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android MVVM架構(gòu)模式,詳詳詳細(xì)學(xué)習(xí)

這篇具有很好參考價(jià)值的文章主要介紹了Android MVVM架構(gòu)模式,詳詳詳細(xì)學(xué)習(xí)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

MVVM(Model-View-ViewModel)

是一種基于數(shù)據(jù)綁定的架構(gòu)模式,用于設(shè)計(jì)和組織應(yīng)用程序的代碼結(jié)構(gòu)。它將應(yīng)用程序分為三個(gè)主要部分:Model(模型)、View(視圖)和ViewModel(視圖模型)。

  • Model(模型):負(fù)責(zé)處理數(shù)據(jù)和業(yè)務(wù)邏輯。它可以是從網(wǎng)絡(luò)獲取的數(shù)據(jù)、數(shù)據(jù)庫(kù)中的數(shù)據(jù)或其他數(shù)據(jù)源。Model層通常是獨(dú)立于界面的,可以在多個(gè)界面之間共享。
  • View(視圖):負(fù)責(zé)展示數(shù)據(jù)和與用戶進(jìn)行交互。它可以是Activity、Fragment、View等。View層主要負(fù)責(zé)UI的展示和用戶輸入的響應(yīng)。
  • ViewModel(視圖模型):連接View和Model,作為View和Model之間的橋梁。它負(fù)責(zé)從Model中獲取數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)換為View層可以直接使用的形式。ViewModel還負(fù)責(zé)監(jiān)聽(tīng)Model的數(shù)據(jù)變化,并通知View進(jìn)行更新。ViewModel通常是與View一一對(duì)應(yīng)的,每個(gè)View都有一個(gè)對(duì)應(yīng)的ViewModel。

MVVM的特點(diǎn)和優(yōu)勢(shì)

  1. 解耦合:MVVM通過(guò)將View和Model解耦合,使得它們可以獨(dú)立開(kāi)發(fā)和測(cè)試。ViewModel作為中間層,將數(shù)據(jù)從Model傳遞給View,避免了直接在View中處理業(yè)務(wù)邏輯的情況。
  2. 可維護(hù)性:MVVM的分層結(jié)構(gòu)使得代碼更易于維護(hù)。View只負(fù)責(zé)展示數(shù)據(jù)和用戶交互,ViewModel負(fù)責(zé)處理業(yè)務(wù)邏輯和數(shù)據(jù)轉(zhuǎn)換,Model負(fù)責(zé)數(shù)據(jù)的獲取和存儲(chǔ)。這種分離使得代碼更加清晰和可讀,也方便進(jìn)行單元測(cè)試。
  3. 數(shù)據(jù)驅(qū)動(dòng)UI:MVVM采用數(shù)據(jù)綁定的方式,將Model的數(shù)據(jù)與View進(jìn)行綁定。當(dāng)Model的數(shù)據(jù)發(fā)生變化時(shí),ViewModel會(huì)自動(dòng)更新View的顯示,無(wú)需手動(dòng)更新UI。這種方式可以減少手動(dòng)更新UI的代碼量,提高開(kāi)發(fā)效率。
  4. 可測(cè)試性:由于MVVM的分層結(jié)構(gòu)和數(shù)據(jù)驅(qū)動(dòng)UI的特點(diǎn),可以更容易地進(jìn)行單元測(cè)試。ViewModel中的業(yè)務(wù)邏輯可以獨(dú)立于View進(jìn)行測(cè)試,而不需要依賴(lài)于Android系統(tǒng)或UI組件。

常見(jiàn)架構(gòu)模式(MVC和MVP)區(qū)別

  • MVC(Model-View-Controller):MVC模式中,Controller負(fù)責(zé)處理用戶輸入和業(yè)務(wù)邏輯,Model負(fù)責(zé)數(shù)據(jù)和業(yè)務(wù)邏輯,View負(fù)責(zé)展示數(shù)據(jù)。與MVC相比,MVVM將Controller分離為ViewModel,將數(shù)據(jù)綁定的方式集成進(jìn)來(lái),使得代碼更加簡(jiǎn)潔和清晰。
  • MVP(Model-View-Presenter):MVP模式中,Presenter負(fù)責(zé)處理用戶輸入和業(yè)務(wù)邏輯,Model負(fù)責(zé)數(shù)據(jù)和業(yè)務(wù)邏輯,View負(fù)責(zé)展示數(shù)據(jù)。與MVP相比,MVVM將Presenter分離為ViewModel

MVVM三個(gè)核心組件

在MVVM模式中,有三個(gè)核心組件:Model(模型)、View(視圖)和ViewModel(視圖模型)。它們各自具有不同的職責(zé)和作用,并通過(guò)數(shù)據(jù)綁定機(jī)制實(shí)現(xiàn)彼此之間的關(guān)系和交互。

Model(模型):

  • 職責(zé):負(fù)責(zé)處理數(shù)據(jù)和業(yè)務(wù)邏輯。它可以是從網(wǎng)絡(luò)獲取的數(shù)據(jù)、數(shù)據(jù)庫(kù)中的數(shù)據(jù)或其他數(shù)據(jù)源。Model層通常是獨(dú)立于界面的,可以在多個(gè)界面之間共享。 - 作用:提供數(shù)據(jù)和處理數(shù)據(jù)的方法,封裝業(yè)務(wù)邏輯。 - 示例代碼:
java public class User {     private String name;     private int age;       // getter and setter methods       // 數(shù)據(jù)獲取的方法     public LiveData getUser() {       // 從網(wǎng)絡(luò)或數(shù)據(jù)庫(kù)獲取用戶數(shù)據(jù)       return userRepository.getUser();     }       // 數(shù)據(jù)更新的方法     public void updateUser(User user) {       // 更新用戶數(shù)據(jù)       userRepository.updateUser(user);     }       // ...   }   

View(視圖):

  • 職責(zé):負(fù)責(zé)展示數(shù)據(jù)和與用戶進(jìn)行交互。它可以是Activity、Fragment、View等。View層主要負(fù)責(zé)UI的展示和用戶輸入的響應(yīng)。 - 作用:將ViewModel中的數(shù)據(jù)展示給用戶,并將用戶的輸入傳遞給ViewModel。 - 示例代碼:
java public class MainActivity extends AppCompatActivity {        private UserViewModel userViewModel;        private TextView nameTextView;        private TextView ageTextView;            @Override        protected void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            setContentView(R.layout.activity_main);                nameTextView = findViewById(R.id.nameTextView);            ageTextView = findViewById(R.id.ageTextView);                userViewModel = new ViewModelProvider(this).get(UserViewModel.class);            userViewModel.getUser().observe(this, user -> {                // 更新UI顯示 nameTextView.setText(user.getName());                ageTextView.setText(String.valueOf(user.getAge()));            });        }            // 處理用戶輸入的方法 public void onUpdateUserClick(View view) {            // 從UI獲取用戶輸入 String name = nameEditText.getText().toString();            int age = Integer.parseInt(ageEditText.getText().toString());                // 更新ViewModel中的數(shù)據(jù) User user = new User(name, age);            userViewModel.updateUser(user);        }            // ...    }   

ViewModel(視圖模型):

  • 職責(zé):連接View和Model,作為View和Model之間的橋梁。它負(fù)責(zé)從Model中獲取數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)換為View層可以直接使用的形式。ViewModel還負(fù)責(zé)監(jiān)聽(tīng)Model的數(shù)據(jù)變化,并通知View進(jìn)行更新。ViewModel通常是與View一一對(duì)應(yīng)的,每個(gè)View都有一個(gè)對(duì)應(yīng)的ViewModel。 - 作用:處理View層的數(shù)據(jù)展示和用戶交互,并與Model層進(jìn)行交互。 - 示例代碼:
java
  public class UserViewModel extends ViewModel {
    private User user;
    private UserRepository userRepository;
?
?    public UserViewModel() {
?      userRepository = new UserRepository();
?      user = new User();
?    }
?
?    // 獲取數(shù)據(jù)的方法 public LiveData<User> getUser() {
?      return user.getUser();
?    }
?
?    // 更新數(shù)據(jù)的方法
?    public void updateUser(User user
?
) {
      user.updateUser(user);
    }
?
    // ...
  }

ViewModel通過(guò)數(shù)據(jù)綁定機(jī)制將Model的數(shù)據(jù)與View進(jìn)行綁定,實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)更新。當(dāng)Model的數(shù)據(jù)發(fā)生變化時(shí),ViewModel會(huì)自動(dòng)通知View進(jìn)行更新。這種數(shù)據(jù)綁定的方式減少了手動(dòng)更新UI的代碼量,提高了開(kāi)發(fā)效率。

下面是一個(gè)示意圖,說(shuō)明了MVVM模式中Model、View和ViewModel之間的關(guān)系和交互方式:

        +-------------+
        |    Model    |
        +-------------+
              |
              |
              v        +-------------+
        |  ViewModel  |
        +-------------+
              |
              |
              v
        +-------------+
        |     View    |
        +-------------+

在這個(gè)示意圖中,ViewModel通過(guò)數(shù)據(jù)綁定機(jī)制將Model的數(shù)據(jù)綁定到View上,當(dāng)Model的數(shù)據(jù)發(fā)生變化時(shí),ViewModel會(huì)自動(dòng)通知View進(jìn)行更新,從而實(shí)現(xiàn)UI的自動(dòng)刷新。用戶的輸入通過(guò)View傳遞給ViewModel,ViewModel再將數(shù)據(jù)傳遞給Model進(jìn)行處理。

通過(guò)MVVM模式,Model、View和ViewModel之間的分離和解耦合,使得代碼更易于維護(hù)和測(cè)試。ViewModel作為中間層,負(fù)責(zé)處理業(yè)務(wù)邏輯和數(shù)據(jù)轉(zhuǎn)換,使得View層只關(guān)注UI的展示和用戶交互,而不關(guān)心具體的業(yè)務(wù)邏輯和數(shù)據(jù)處理。這種分層結(jié)構(gòu)和數(shù)據(jù)綁定的方式使得代碼更加清晰、可讀性更強(qiáng),并提高了開(kāi)發(fā)效率和代碼質(zhì)量。

MVVM數(shù)據(jù)綁定機(jī)制

在MVVM模式中,數(shù)據(jù)綁定是實(shí)現(xiàn)View和ViewModel之間數(shù)據(jù)同步的關(guān)鍵機(jī)制。它允許將View中的UI元素(如TextView、EditText)與ViewModel中的數(shù)據(jù)屬性進(jìn)行綁定,當(dāng)數(shù)據(jù)發(fā)生變化時(shí),自動(dòng)更新UI,同時(shí)用戶的輸入也會(huì)自動(dòng)同步到ViewModel中。

數(shù)據(jù)綁定的原理是通過(guò)觀察者模式和反射機(jī)制實(shí)現(xiàn)的。當(dāng)ViewModel中的數(shù)據(jù)發(fā)生變化時(shí),會(huì)觸發(fā)相應(yīng)的通知,通知綁定的View進(jìn)行更新。而當(dāng)用戶在View中輸入數(shù)據(jù)時(shí),數(shù)據(jù)綁定也會(huì)將輸入的數(shù)據(jù)自動(dòng)同步到ViewModel中。這種雙向的數(shù)據(jù)同步機(jī)制,使得View和ViewModel之間實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時(shí)同步。

在Android中,可以使用數(shù)據(jù)綁定庫(kù)(如Data Binding)來(lái)實(shí)現(xiàn)MVVM模式中的數(shù)據(jù)綁定。Data Binding庫(kù)提供了一組注解和工具類(lèi),可以簡(jiǎn)化數(shù)據(jù)綁定的實(shí)現(xiàn)過(guò)程。

以下是在Android中使用Data Binding庫(kù)實(shí)現(xiàn)MVVM模式中的數(shù)據(jù)綁定的步驟:

  1. 配置Data Binding庫(kù):在項(xiàng)目的build.gradle文件中,添加Data Binding的插件和依賴(lài)項(xiàng)。
    // ...
    dataBinding {
        enabled = true
    }
}
?
dependencies {
    // ...
    implementation 'androidx.databinding:databinding-runtime:7.0.2'
}
  1. 創(chuàng)建布局文件:在布局文件中,使用標(biāo)簽包裹布局,并使用標(biāo)簽定義綁定的變量和表達(dá)式。
    <data>
        <variable            name="user"
            type="com.example.mvvm.User" />
    </data>
    <LinearLayout        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@{user.name}" />
        <TextView            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@{String.valueOf(user.age)}" />
    </LinearLayout>
</layout>
  1. 創(chuàng)建ViewModel類(lèi):創(chuàng)建一個(gè)與View對(duì)應(yīng)的ViewModel類(lèi),并在其中定義與布局文件中綁定的變量。
java
public class UserViewModel extends BaseObservable {
    private String name;
    private int age;
?
    // getter and setter methods
?
    @Bindable    public String getName() {
        return name;
    }
?
    public void setName(String name) {
        this.name = name;
        notifyPropertyChanged(BR.name);
    }
?
    @Bindable    public int getAge() {
        return age;
    }
?
    public void setAge(int age) {
        this.age = age;
        notifyPropertyChanged(BR.age);
    }
}
  1. 綁定數(shù)據(jù):在Activity或Fragment中,使用DataBindingUtil類(lèi)將布局文件與ViewModel進(jìn)行綁定,并設(shè)置ViewModel的數(shù)據(jù)。
public class MainActivity extends AppCompatActivity {
    private UserViewModel userViewModel;
?
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
?
        // 創(chuàng)建ViewModel實(shí)例
        userViewModel = new UserViewModel();
        userViewModel.setName("John");
        userViewModel.setAge(25);
?
        // 綁定ViewModel和
?
布局文件 ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
    binding.setUser(userViewModel);
  }
}

通過(guò)以上步驟,我們將布局文件和ViewModel進(jìn)行了綁定,同時(shí)設(shè)置了ViewModel的數(shù)據(jù)。當(dāng)ViewModel中的數(shù)據(jù)發(fā)生變化時(shí),布局文件中相應(yīng)的UI元素會(huì)自動(dòng)更新。同時(shí),當(dāng)用戶在UI元素中輸入數(shù)據(jù)時(shí),Data Binding庫(kù)也會(huì)自動(dòng)將輸入的數(shù)據(jù)同步到ViewModel中。

使用數(shù)據(jù)綁定的好處是能夠簡(jiǎn)化代碼,減少手動(dòng)更新UI的代碼量,提高開(kāi)發(fā)效率。它還能夠降低代碼的耦合性,使得UI和數(shù)據(jù)邏輯的修改更加靈活和獨(dú)立。另外,數(shù)據(jù)綁定還能夠提高代碼的可讀性和可維護(hù)性,使得代碼更易于理解和調(diào)試。《更多內(nèi)容可查了主頁(yè)信息,可捕獲進(jìn)階知識(shí)》

MVVM架構(gòu)模式發(fā)展趨勢(shì)

MVVM模式在Android開(kāi)發(fā)中已經(jīng)得到廣泛應(yīng)用,并且在未來(lái)仍然有著較大的發(fā)展?jié)摿?。以下是一些未?lái)發(fā)展趨勢(shì):

Jetpack Compose:

Jetpack Compose是Google推出的一種全新的UI框架,它采用了聲明式UI的方式,與MVVM模式非常契合。Jetpack Compose能夠簡(jiǎn)化UI開(kāi)發(fā)流程,提供更加靈活和響應(yīng)式的UI編程方式。

數(shù)據(jù)驅(qū)動(dòng)UI:

未來(lái),數(shù)據(jù)驅(qū)動(dòng)UI的概念將會(huì)更加普及和強(qiáng)調(diào)。MVVM模式的數(shù)據(jù)綁定和觀察者模式是實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)UI的重要手段,未來(lái)可能會(huì)有更多的框架和工具出現(xiàn),進(jìn)一步簡(jiǎn)化數(shù)據(jù)和UI的綁定過(guò)程。

更強(qiáng)大的ViewModel組件:

Android Jetpack中的ViewModel組件已經(jīng)為開(kāi)發(fā)者提供了很多便利,但未來(lái)可能會(huì)有更多功能和特性被添加進(jìn)來(lái),以進(jìn)一步提高ViewModel的靈活性和可擴(kuò)展性。

跨平臺(tái)開(kāi)發(fā):

MVVM模式的解耦特性使得代碼更具可移植性,未來(lái)可能會(huì)有更多的跨平臺(tái)開(kāi)發(fā)框架和工具出現(xiàn),使得開(kāi)發(fā)者能夠更輕松地在不同平臺(tái)上使用MVVM模式進(jìn)行開(kāi)發(fā)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-663673.html

到了這里,關(guān)于Android MVVM架構(gòu)模式,詳詳詳細(xì)學(xué)習(xí)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 大型Android項(xiàng)目架構(gòu):基于組件化+模塊化+Kotlin+協(xié)程+Flow+Retrofit+Jetpack+MVVM架構(gòu)實(shí)現(xiàn)WanAndroid客戶端

    大型Android項(xiàng)目架構(gòu):基于組件化+模塊化+Kotlin+協(xié)程+Flow+Retrofit+Jetpack+MVVM架構(gòu)實(shí)現(xiàn)WanAndroid客戶端

    前言:茍有恒,何必三更眠五更起;最無(wú)益,莫過(guò)一日曝十日寒。 之前一直想寫(xiě)個(gè) WanAndroid 項(xiàng)目來(lái)鞏固自己對(duì) Kotlin+Jetpack+協(xié)程 等知識(shí)的學(xué)習(xí),但是一直沒(méi)有時(shí)間。這里重新行動(dòng)起來(lái),從項(xiàng)目搭建到完成前前后后用了兩個(gè)月時(shí)間,平常時(shí)間比較少,基本上都是只能利用零碎的

    2024年02月09日
    瀏覽(27)
  • Android開(kāi)發(fā)中的前五個(gè)代碼異味:Jetpack Compose UI和MVVM

    Android開(kāi)發(fā)中的前五個(gè)代碼異味:Jetpack Compose UI和MVVM

    代碼異味是指軟件代碼中潛在問(wèn)題的指標(biāo),可能并不一定是錯(cuò)誤,但可能會(huì)導(dǎo)致問(wèn)題,如增加維護(hù)復(fù)雜性、降低性能或降低可讀性。我們將探討Android開(kāi)發(fā)中的前五個(gè)代碼異味,其中包括使用Jetpack Compose UI和Model-View-ViewModel(MVVM)架構(gòu)的示例。 上帝對(duì)象或上帝類(lèi)是指試圖做太

    2024年02月02日
    瀏覽(31)
  • Android 架構(gòu)模式

    Android 架構(gòu)模式

    1.三個(gè)基本架構(gòu) 在Android中,開(kāi)發(fā)架構(gòu)就是描述視圖層、邏輯層、數(shù)據(jù)層三者之間的關(guān)系和實(shí)施。 Android中有3個(gè)基本的架構(gòu)模式。 ①M(fèi)VC(Model-View-Controller) Model:模型層,代表數(shù)據(jù)模型,用于獲取和存儲(chǔ)數(shù)據(jù)。 View:視圖層,即呈現(xiàn)給用戶的UI,即xml布局文件。 Controller:控制

    2024年02月07日
    瀏覽(14)
  • 安卓Android 架構(gòu)模式及UI布局設(shè)計(jì)

    安卓Android 架構(gòu)模式及UI布局設(shè)計(jì)

    Android UI 設(shè)計(jì)是指在Android應(yīng)用程序中創(chuàng)建用戶界面的過(guò)程。這涉及到使用XML布局文件定義界面元素的位置和外觀,以及通過(guò)Java或Kotlin代碼處理用戶交互。Android UI設(shè)計(jì)包括使用各種視圖組件(如按鈕、文本框、列表等)和布局管理器(如線性布局、相對(duì)布局等)來(lái)構(gòu)建用戶友

    2024年04月13日
    瀏覽(38)
  • 【Android】【Bluetooth Stack】Android Bluetooth架構(gòu)分析(超詳細(xì))

    【Android】【Bluetooth Stack】Android Bluetooth架構(gòu)分析(超詳細(xì))

    1. 精講藍(lán)牙協(xié)議棧(Bluetooth?Stack):SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等協(xié)議理論 2. 歡迎大家關(guān)注和訂閱,【藍(lán)牙協(xié)議棧】和【Android Bluetooth Stack】專(zhuān)欄會(huì)持續(xù)更新中.....敬請(qǐng)期待! 目錄 1. Android Bluetooth發(fā)展歷程簡(jiǎn)介 2. Android Bluetooth架構(gòu) 2.1 Android Bluetooth架構(gòu)圖

    2024年04月11日
    瀏覽(56)
  • 深入理解MVVM架構(gòu)模式

    深入理解MVVM架構(gòu)模式

    原文合集地址如下,有需要的朋友可以關(guān)注 本文地址 MVVM是一種用于構(gòu)建用戶界面的軟件架構(gòu)模式,它的名稱(chēng)代表著三個(gè)組成部分:Model(模型)、View(視圖)和ViewModel(視圖模型)。MVVM的主要目標(biāo)是將應(yīng)用程序的UI與其底層數(shù)據(jù)模型分離,通過(guò)數(shù)據(jù)綁定實(shí)現(xiàn)數(shù)據(jù)和UI的自動(dòng)

    2024年02月12日
    瀏覽(38)
  • MVVM架構(gòu)模式

    MVVM架構(gòu)模式

    一、MVVM簡(jiǎn)介 MVVM是Model-View-ViewModel的簡(jiǎn)寫(xiě)。即是模型-視圖-視圖模型。 MVVM架構(gòu)模式是一種軟件設(shè)計(jì)模式,它將應(yīng)用程序分為三個(gè)部分:模型(Model)、視圖(View)和視圖模型(ViewModel)。該模式的目的是將用戶界面(UI)邏輯與業(yè)務(wù)邏輯分離,以便開(kāi)發(fā)人員可以更輕松地管理

    2024年02月11日
    瀏覽(30)
  • 【軟件架構(gòu)模式——MVC、MVP、MVVM】

    1. MVC(Model-View-Controller) 概念介紹: MVC是一種軟件架構(gòu)模式,用于組織應(yīng)用程序的代碼和邏輯。它將應(yīng)用程序分為三個(gè)核心部分:模型(Model)、視圖(View)和控制器(Controller)。 **模型(Model)**負(fù)責(zé)處理應(yīng)用程序的數(shù)據(jù)邏輯和狀態(tài)。它表示應(yīng)用程序的數(shù)據(jù)源,并封裝了與

    2024年02月11日
    瀏覽(87)
  • android mvvm實(shí)例解析

    android mvvm實(shí)例解析

    MVVM架構(gòu),將整個(gè)應(yīng)用分為三層,View層,VM層,Model層。其中View層單向引用VM層,VM層單向引用Model層。如上圖。 單向引用,而非雙向引用,這是MVVM與MVP最大的區(qū)別。View層,只是單向引用VM層,VM層不需要引用View層,但是卻可以 更新View層。這是通過(guò)VM層的觀察者模式實(shí)現(xiàn)的,在

    2024年02月14日
    瀏覽(19)
  • Android開(kāi)發(fā)-Android開(kāi)發(fā)環(huán)境搭建(Android Studio詳細(xì)安裝教程,適合新手)

    Android開(kāi)發(fā)-Android開(kāi)發(fā)環(huán)境搭建(Android Studio詳細(xì)安裝教程,適合新手)

    01 Android開(kāi)發(fā)工具 Android Studio Android Studio是谷歌推出的一個(gè)Android集成開(kāi)發(fā)工具, 基于 IntelliJ IDEA .類(lèi)似Eclipse ADT, Android Studio提供了集成的Android開(kāi)發(fā)工具用于開(kāi)發(fā)和調(diào)試 架構(gòu)組成 。基于Gradle的構(gòu)建支持 。Android專(zhuān)屬的重構(gòu)和快速修復(fù) 。提示工具以捕獲性能、可用性、版本兼容性

    2024年02月09日
    瀏覽(26)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包