1. 程式人生 > >MVP+Retrofit+dagger2+RxAndroid框架整合

MVP+Retrofit+dagger2+RxAndroid框架整合

1. MVP模式:主要實在傳統的MVC模式上新增了一層presenter,作為View與Model互動的中間紐帶,處理與使用者互動的負責邏輯。

2. Retrofit:是Square公司開發的一款針對Android網路請求的框架,Retrofit2底層基於OkHttp實現的。

3. dagger2:簡而言之就是一套Android上使用的依賴注入框架。

4. RxAndroid:RxJava的Android版,是一套實現非同步的框架。

5. lambd表示式:用來代替匿名的內部類,讓程式碼變的簡單、而且可讀、最重要的是程式碼量也隨之減少很多。

6. icepick:對activity以及fragment 的狀態的儲存和恢復。

原始儲存/恢復資料的寫法:

onCreate: 

if(savedInstanceState!=null)

mCodeData=savedInstanceState.getInt("code");

@Override protected void onSaveInstanceState(Bundle outState) {

 outState.putInt("code",mCodeData); super.onSaveInstanceState(outState);

}

icepick: 

Icepick.restoreInstanceState(this, savedInstanceState);

@Override protected void onSaveInstanceState(Bundle outState) {                   Icepick.saveInstanceState(this, outState); 

  super.onSaveInstanceState(outState); 

}

7. butterknife:這個開源庫可以讓我們從大量的findViewById()和setonclicktListener()解放出來,並且使用Android Butterknife Zelezny外掛可以快速生成XML檔案的各種控制元件對應java程式碼。

首先,你需要在OnCreate初始化方法中先繫結佈局檔案:

OnCreate(): 

ButterKnife.bind(this); //繫結佈局檔案

@bindView(R.id.text1)TextView text1; //繫結需要操作的控制元件

@OnClick({R.id.button1, R.id.button2, R.id.button3})  //設定事件

public void onClick(View view) { switch (view.getId()) { 

    case R.id.button1: break; 

    case R.id.button2: break; 

    case R.id.button3: break;

 }}

8. 我們需要對這套框架進行配置;